《PHP實例:Laravel框架表單驗證詳解》要點:
本文介紹了PHP實例:Laravel框架表單驗證詳解,希望對您有用。如果有疑問,可以聯系我們。
根基驗證例子PHP應用
傳遞給 make 函數的第一個參數是待驗證的數據,第二個參數是對該數據必要應用的驗證規則.PHP應用
多個驗證規則可以通過 "|" 字符進行隔開,或者作為數組的一個零丁的元素.PHP應用
通過數組指定驗證規矩PHP應用
一旦一個 Validator 實例被創立,可以使用 fails (或者 passes)函數執行這個驗證.PHP應用
文件驗證PHP應用
Validator 類提供了一些驗證規則用于驗證文件,好比 size、mimes等.在驗證文件的時候,您可以和其他驗證一樣傳遞給驗證器.PHP應用
附帶差錯消息PHP應用
在一個 Validator 實例上調用 messages 函數之后,將會得到一個 MessageBag 實例,該實例擁有很多處理錯誤消息的便利的函數.PHP應用
獲取一個域的第一個差錯消息PHP應用
獲取一個域的全部差錯消息PHP應用
獲取全部域的全部差錯消息
PHP應用
反省一個域是否存在消息
PHP應用
以某種格式獲取所有差錯消息
PHP應用
差錯消息 & 視圖PHP應用
一旦您執行了驗證,您需要一種簡單的辦法向視圖反饋錯誤消息.這在 Lavavel 中能夠方便的處理.以下面的路由作為例子:PHP應用
然而,注意我們沒有必要明確的在 GET 路由中綁定錯誤消息到路由.這是因為 Laravel 總會檢查 Session 中的錯誤,并自動綁定它們到視圖如果它們是可用的.所以,對于每個哀求,一個 $errors 變量在所有視圖中總是可用的,允許您方便的認為 $errors 總是被定義并可以安全使用的.$errors 變量將是一個 MessageBag 類的實例.PHP應用
所以,在跳轉之后,您可以在視圖中使用自動綁定的 $errors 變量:PHP利用
下面是一個所有可用的驗證規則的列表以及它們的功效:
PHP應用
acceptedPHP利用
驗證此規則的值必需是 yes、 on 或者是 1.這在驗證是否同意"服務條款"的時候非常有用.PHP應用
active_urlPHP利用
驗證此規則的值必需是一個合法的 URL,根據 PHP 函數 checkdnsrr.PHP應用
after:datePHP利用
驗證此規則的值必需在給定日期之后,日期將通過 PHP 函數 strtotime 傳遞.PHP應用
alpha
驗證此規則的值必需全部由字母字符構成.PHP應用
alpha_dash
驗證此規則的值必需全部由字母、數字、中劃線或下劃線字符構成.PHP應用
alpha_num
驗證此規則的值必需全部由字母和數字構成.PHP應用
before:date
驗證此規則的值必需在給定日期之前,日期將通過 PHP 函數 strtotime 傳遞.PHP應用
between:min,max
驗證此規則的值必須在給定的 min 和 max 之間.字符串、數字以及文件都將使用大小規則進行比擬.PHP應用
confirmed
驗證此規則的值必須和 foo_confirmation 的值相同.好比,需要驗證此規則的域是 password,那么在輸入中必須有一個與之相同的 password_confirmation 域.PHP應用
date
驗證此規則的值必需是一個合法的日期,根據 PHP 函數 strtotime.PHP應用
date_format:format
驗證此規則的值必需符合給定的 format 的格式,根據 PHP 函數 date_parse_from_format.PHP應用
different:field
驗證此規則的值必需與指定的 field 域的值不同.PHP應用
email
驗證此規則的值必需是一個合法的電子郵件地址.PHP應用
exists:table,column
驗證此規則的值必需在指定的數據庫的表中存在.PHP應用
Exists 規則的根基使用PHP應用
image
驗證此規則的值必需是一個圖片 (jpeg, png, bmp 或者 gif).PHP應用
in:foo,bar,...PHP利用
驗證此規則的值必需在給定的列表中存在.PHP應用
integerPHP利用
驗證此規則的值必需是一個整數.PHP應用
?
驗證此規則的值必需是一個合法的 IP 地址.PHP應用
max:valuePHP利用
驗證此規則的值必須小于最大值 value.字符串、數字以及文件都將使用大小規則進行比擬.PHP應用
mimes:foo,bar,...PHP利用
驗證此規則的文件的 MIME 類型必需在給定的列表中.PHP應用
MIME 規則的根基使用PHP應用
min:value
驗證此規則的值必須大于最小值 value.字符串、數字以及文件都將使用大小規則進行比擬.PHP應用
not_in:foo,bar,...PHP利用
驗證此規則的值必需在給定的列表中不存在.PHP應用
numericPHP利用
驗證此規則的值必需是一個數字.PHP應用
regex:patternPHP利用
驗證此規則的值必需符合給定的正則表達式.PHP應用
注意: 當使用 regex 模式的時候,有必要使用數組指定規則,而不是管道分隔符,特別是正則表達式中包括一個管道字符的時候.PHP應用
requiredPHP利用
驗證此規則的值必需在輸入數據中存在.PHP應用
required_if:field,valuePHP利用
當指定的域為某個值的時候,驗證此規則的值必需存在.PHP應用
required_with:foo,bar,...PHP利用
僅當指定的域存在的時候,驗證此規則的值必需存在.PHP應用
required_without:foo,bar,...PHP利用
僅當指定的域不存在的時候,驗證此規則的值必需存在.PHP應用
same:fieldPHP利用
驗證此規則的值必需與給定域的值相同.PHP應用
size:valuePHP利用
驗證此規則的值的大小必需與給定的 value 相同.對于字符串,value 代表字符的個數;對于數字,value 代表它的整數值,對于文件,value 代表文件以KB為單位的大小.PHP應用
unique:table,column,except,idColumnPHP利用
驗證此規則的值必需在給定的數據庫的表中唯一.如果 column 沒有被指定,將使用該域的名字.PHP應用
Unique 規則的根基使用
PHP應用
urlPHP應用
驗證此規則的值必需是一個合法的 URL.PHP應用
定制差錯消息PHP應用
如果有需要,您可以使用定制的錯誤消息代替默認的消息.這里有好幾種定制錯誤消息的辦法.PHP應用
傳遞定制消息到驗證器PHP利用
注意: :attribute 占位符將被實際的進行驗證的域的名字代替,您也可以在差錯消息中使用其他占位符.PHP應用
其他驗證占位符PHP利用
對一個指定的域指定定制的差錯消息PHP應用
在語言文件中指定差錯消息PHP應用
定制驗證規矩PHP應用
Laravel 提供了一系列的有用的驗證規則;但是,您可能希望添加自己的驗證規則.其中一種辦法是使用 Validator::extend 函數注冊定制的驗證規則:PHP應用
注冊一個定制的驗證規矩
PHP應用
注意: 傳遞給 extend 函數的規則的名字必需符合 "snake cased" 命名規則.PHP應用
定制的驗證器接受三個參數:待驗證屬性的名字、待驗證屬性的值以及傳遞給這個規矩的參數.PHP應用
您也可以傳遞一個類的函數到 extend 函數,而不是使用閉包:
PHP利用
您也可以擴展 Validator 類自己,而不是使用閉包回調擴展驗證器.為了實現這個目的,添加一個繼承自 Illuminate\Validation\Validator 的驗證器類.您可以添加在類中添加以 validate 開頭的驗證函數:PHP應用
擴大驗證器類
PHP應用
下面,您必要注冊定制的驗證器擴展:PHP應用
您必要注冊定制的驗證器擴展PHP應用
當創建一個定制的驗證規則,您有時必要為錯誤消息定義一個定制的占位符.為了實現它,您可以像上面那樣創建一個定制的驗證器,并且在驗證器中添加一個 replaceXXX 函數:
PHP應用
維易PHP培訓學院每天發布《PHP實例:Laravel框架表單驗證詳解》等實戰技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養人才。