錯誤信息

驗證規(guī)則的錯誤提示信息有三種方式可以定義,如下:

使用默認的錯誤提示信息

如果沒有定義任何的驗證提示信息,系統(tǒng)會顯示默認的錯誤信息,例如:

$rule = [
    'name'  => 'require|max:25',
    'age'   => 'number|between:1,120',
    'email' => 'email',
];

$data = [
    'name'  => 'thinkphp',
    'age'   => 121,
    'email' => 'thinkphp@qq.com',
];
$validate = new Validate($rule);
$result   = $validate->check($data);
if(!$result){
    echo $validate->getError();
}

會輸出 age只能在 1 - 120 之間。

可以給age字段設(shè)置中文名,例如:

$rule = [
    'name'  => 'require|max:25',
    'age|年齡'   => 'number|between:1,120',
    'email' => 'email',
];

$data = [
    'name'  => 'thinkphp',
    'age'   => 121,
    'email' => 'thinkphp@qq.com',
];
$validate = new Validate($rule);
$result   = $validate->check($data);
if(!$result){
    echo $validate->getError();
}

會輸出 年齡只能在 1 - 120 之間

驗證規(guī)則和提示信息分開定義

如果要輸出自定義的錯誤信息,有兩種方式可以設(shè)置。下面的一種方式是驗證規(guī)則和提示信息分開定義:

$rule = [
    'name'  => 'require|max:25',
    'age'   => 'number|between:1,120',
    'email' => 'email',
];
$msg = [
    'name.require' => '名稱必須',
    'name.max'     => '名稱最多不能超過25個字符',
    'age.number'   => '年齡必須是數(shù)字',
    'age.between'  => '年齡必須在1~120之間',
    'email'        => '郵箱格式錯誤',
];
$data = [
    'name'  => 'thinkphp',
    'age'   => 121,
    'email' => 'thinkphp@qq.com',
];
$validate = new Validate($rule,$msg);
$result   = $validate->check($data);
if(!$result){
    echo $validate->getError();
}

會輸出 年齡必須在1~120之間。

驗證規(guī)則和提示信息一起定義

可以支持驗證規(guī)則和錯誤信息一起定義的方式,如下:

$rule = [
    ['name','require|max:25','名稱必須|名稱最多不能超過25個字符'],
    ['age','number|between:1,120','年齡必須是數(shù)字|年齡必須在1~120之間'],
    ['email','email','郵箱格式錯誤']
];

$data = [
    'name'  => 'thinkphp',
    'age'   => 121,
    'email' => 'thinkphp@qq.com',
];
$validate = new Validate($rule);
$result   = $validate->check($data);
if(!$result){
    echo $validate->getError();
}

使用多語言

如果需要使用多語言驗證信息,可以在定義驗證信息的時候使用 {%語言變量} 替代 原來的驗證錯誤信息,例如:

$rule = [
    'name'  => 'require|max:25',
    'age'   => 'number|between:1,120',
    'email' => 'email',
];
$msg = [
    'name.require' => '{%name_require}',
    'name.max'     => '{%name_max}',
    'age.number'   => '{%age_number}',
    'age.between'  => '{%age_between}',
    'email'        => '{%email_error}',
];
$data = [
    'name'  => 'thinkphp',
    'age'   => 121,
    'email' => 'thinkphp@qq.com',
];
$validate = new Validate($rule,$msg);
$result   = $validate->check($data);
if(!$result){
    echo $validate->getError();
}
文檔最后更新時間:2018-04-26 10:46:25

文檔
目錄

深色
模式

切換
寬度