W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
Laravel 通過 Validation 類讓您可以簡(jiǎn)單、方便的驗(yàn)證數(shù)據(jù)正確性及查看相應(yīng)的驗(yàn)證錯(cuò)誤信息。
$validator = Validator::make(
['name' => 'Dayle'],
['name' => 'required|min:5']
);
上文中傳遞給 make 這個(gè)方法的第一個(gè)參數(shù)用來設(shè)定所需要被驗(yàn)證的數(shù)據(jù)名稱,第二個(gè)參數(shù)設(shè)定該數(shù)據(jù)可被接受的規(guī)則。
使用數(shù)組來定義規(guī)則
多個(gè)驗(yàn)證規(guī)則可以使用"|"符號(hào)分隔,或是單一數(shù)組作為單獨(dú)的元素分隔。
$validator = Validator::make(
['name' => 'Dayle'],
['name' => ['required', 'min:5']]
);
$validator = Validator::make(
[
'name' => 'Dayle',
'password' => 'lamepassword',
'email' => 'email@example.com'
],
[
'name' => 'required',
'password' => 'required|min:8',
'email' => 'required|email|unique:users'
]
);
當(dāng)一個(gè) Validator 實(shí)例被建立后,fails(或 passes) 這兩個(gè)方法就可以在驗(yàn)證時(shí)使用,如下:
if ($validator->fails())
{
// The given data did not pass validation
}
假如驗(yàn)證失敗,您可以從驗(yàn)證器中接收錯(cuò)誤信息。
$messages = $validator->messages();
您可能不需要錯(cuò)誤信息,只想取得無法通過驗(yàn)證的規(guī)則,您可以使用 failed 方法:
$failed = $validator->failed();
Validator 類提供了一些規(guī)則用來驗(yàn)證文件,例如 size, mimes 等等。當(dāng)需要驗(yàn)證文件時(shí),您僅需將它們和您其他的數(shù)據(jù)一同送給驗(yàn)證器即可。
驗(yàn)證器也允許你在完成驗(yàn)證后增加回調(diào)函數(shù)。這也允許你可以進(jìn)行更進(jìn)一步的驗(yàn)證,甚至在消息集合中增加更多的錯(cuò)誤信息。我們?cè)隍?yàn)證器實(shí)例中使用 after 方法來作為開始:
$validator = Validator::make(...);
$validator->after(function($validator)
{
if ($this->somethingElseIsInvalid())
{
$validator->errors()->add('field', 'Something is wrong with this field!');
}
});
if ($validator->fails())
{
//
}
您可以根據(jù)需要為驗(yàn)證器增加任意的 after 回調(diào)函數(shù)。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: