Laravel5.5 新特性~精簡的驗證

LaravelChen發表於2017-07-27

Laravel5.5將驗證的書寫方式變得更加優雅,請看下方程式碼:

$post = \request()->validate([
    'title' => 'required',
    'body' => 'required'
]);
Post::create($post);

使用request()->validate()函式裡面加上前端傳過來的值,這麼一來,返回一個驗證過後的欄位,我們便可以直接將其放入 create或者update方法中,非常的方便.這是其一.

其二,我們在書寫驗證規則的時候,還可以使用新增加的命令

php artisan make:rule SimpleRule

這樣便生成SimpleRule.php檔案,具體的驗證規則可以再 pass函式中完成:

  public function passes($attribute, $value)
    {
        return strlen($value) ===5;
    }

相應的返回資訊如下:

   public function message()
    {
        return 'This value length must be five.';
    }

然後我們之前所寫的驗證可以這樣寫

   $post = \request()->validate([
            'title' => new SimpleRule(),
            'body' => 'required'
        ]);

那麼這樣一來,提交表單便可以驗證欄位了!

LaravelChen

相關文章