驗證器的概述
什么是驗證器?首先記住一點服務器不要相信客戶端傳來的數據都是合法的,我們把驗證客戶端傳來數據的過程稱之為驗證器。他的好處就是就和他的字面意思一樣,保證服務器接收的數據都是合法的。
自定義驗證
開發人員實現自定義驗證,其實就是改變驗證的描述。因為laravel驗證不通過的提示信息是英文的,對國人來說不是那么通俗易懂。還有一個場景就是laravel提供的驗證描述不能說明我們想要描述,這個時候我們就要自定義。
第一步我們首先創建自定義驗證器
由上圖我們可以看到,驗證失敗就要調用fails()函數,啟動驗證是make方法,第一個參數是要驗證的數據,第二個參數是驗證的規則,第三個參數是驗證失敗信息的描述;
我們創建了兩個保護的屬性,一個是規則,一個是驗證失敗描述的信息;
注意:我們在驗證不通過的時候,我在這拋出了異常,這個是我的做法,你還可以直接自定義返回給客戶端數據格式。比如
第二步我們創建自定義的規則
我們定義驗證的規則要重寫Base屬性。
表單數據的驗證
我們的數據格式如下
驗證規則
在相關控制器調用自定義驗證
總結:
1、我們不要相信客戶端傳來的數據都是合法的,我們一定要做數據的驗證。
2、普通字段的驗證就是常規的,字段加驗證規則;
3、表單自定義驗證就是看數據格式是幾維數據,二維就是上面的,三維就是product.*.id類似這樣。