基本用法

2018-02-24 15:52 更新

Laravel 通過 Validation 類讓您可以簡(jiǎn)單、方便的驗(yàn)證數(shù)據(jù)正確性及查看相應(yīng)的驗(yàn)證錯(cuò)誤信息。

基本驗(yàn)證例子

$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']]
);

驗(yàn)證多個(gè)字段

$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();

驗(yàn)證文件

Validator 類提供了一些規(guī)則用來驗(yàn)證文件,例如 size, mimes 等等。當(dāng)需要驗(yàn)證文件時(shí),您僅需將它們和您其他的數(shù)據(jù)一同送給驗(yàn)證器即可。

驗(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ù)。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)