Laravel的表單驗證

2021-09-13 19:00:08 字數 1976 閱讀 2181

修改密碼

如果要驗證的字段是password,輸入中必須存在匹配的password_confirmation字段。

驗證的字段值必須與引數欄位的值不同。

public function rules()
驗證陣列

通常我們的前端通常會寫成這個樣子:

然後在後端可以通過多對多的關聯來實現這個新增標籤的功能,但是其實我們仔細地想:我們新增標籤的時候希望達到什麼樣的效果呢?我覺得有下面兩個最簡單的:

這個標籤的是不能為空的。

一旦不為空,裡面的每乙個元素(標籤)應該是唯一的。

所以在驗證的時候,我們可以這樣:

validator::make($request->all(), [    

"tags" => 'required|array',

"tags.*" => 'required|string|distinct|min:3',

]);

這裡需要解釋一下,第一條

"tags" => 'required|array',
是表明這是乙個不能為空的陣列,然後第二條

"tags.*" => 'required|string|distinct|min:3',
就是說:陣列裡面每個元素我希望是string,而且是唯一的 (distinct),每個元素最小的長度為 3。

bail

第一次驗證失敗後停止執行驗證規則。

只是停止這個欄位的驗證,其它欄位不影響。

messages()和attributes()

messages()attributes()繼承於illuminate\foundation\http\formrequest,可以重寫驗證欄位的含義和提示資訊。

public function messages()
authorize()

檢查經過身份驗證的使用者確定其是否具有更新給定資源的許可權。

如果authorize()方法返回false,則會自動返回乙個包含403狀態碼的 http 響應,也不會執行控制器的方法。

public function authorize()
unique

第一種寫法:unique:(連線名)表名,表中對應字段,忽略值,表主鍵

當欄位名和表中字段相等時可省略

忽略值一般用於修改判斷時去掉自己

表主鍵為id時可省略

public function rules()
第二種寫法:使用illuminate\validation\rule中的unique()靜態方法

public function rules()
還有其他查詢條件時,可以鏈式使用where()等方法

public function rules() )//排隊中不允許重複

],//...];}

required

有許多規則,視實際情況使用:

舉個例子

public function rules() 

public function messages()

laravel表單驗證

效果展示 實現 後台 use validator php view plain copy print public function login 使用者驗證 user db table user select user id user encrypt user pwd where user name...

Laravel使用記錄(十)表單驗證(三)

語言包 乙個表單我們可以這麼設定,兩個表單我們還能這麼設定,但是如果乙個專案十個八個表單,同樣的東西我們豈不是要設定幾百遍?難道沒有更加簡單的方法?答案是肯定的,有,使用語言包。語言包的位置在resources lang資料夾下,預設有乙個語言包en,我們可以看到en下面有四個檔案,分別是許可權 a...

Laravel 表單驗證及資料保持詳解

控制器內容 if request ismethod post else return view student.create 如果控制器中 驗證通過了 validate 那麼會執行之後的 如果沒有通過,框架會丟擲乙個異常,自動返回上乙個頁面 錯誤資訊被存到session中了,並且將它繫結到檢視 ke...