W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
盡管 Laravel 提供了多種多樣有用的校驗規(guī)則;但您亦可進行自定義。注冊自定義校驗規(guī)則的方法之一便是使用規(guī)則對象。您可以使用 make:rule
生成新的規(guī)則對象。接下來,讓我們使用該命令生成一個校驗字符串是否是大寫的規(guī)則, Laravel 會將新規(guī)則置于 app/Rules
目錄中:
php artisan make:rule Uppercase
當規(guī)則創(chuàng)建成功后,我們便可定義其行為。規(guī)則對象包含兩個方法: passes
和 message
。 passes
方法接收屬性值及其名稱,它應該返回以 true
和 false
表示的屬性值是否通過驗證的結果。 message
方法應該返回驗證失敗時使用的錯誤信息:
<?php
namespace App\Rules;
use Illuminate\Contracts\Validation\Rule;
class Uppercase implements Rule
{
/**
* 判斷是否通過驗證規(guī)則
*
* @param string $attribute
* @param mixed $value
* @return bool
*/
public function passes($attribute, $value)
{
return strtoupper($value) === $value;
}
/**
* 獲取校驗錯誤信息
*
* @return string
*/
public function message()
{
return 'The :attribute must be uppercase.';
}
}
如果您想要從您的翻譯文件中獲取錯誤信息,您可以在您的 message
中使用 trans
助手方法:
/**
* 獲取校驗錯誤信息
*
* @return string
*/
public function message()
{
return trans('validation.uppercase');
}
一旦定義了規(guī)則,您便可以通過將規(guī)則的實例化與其他校驗規(guī)則一起傳遞給驗證器:
use App\Rules\Uppercase;
$request->validate([
'name' => ['required', 'string', new Uppercase],
]);
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: