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'
]);
那麼這樣一來,提交表單便可以驗證欄位了!