錯(cuò)誤信息

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

使用默認(rèn)的錯(cuò)誤提示信息

如果沒有定義任何的驗(yàn)證提示信息,系統(tǒng)會(huì)顯示默認(rèn)的錯(cuò)誤信息,例如:

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

會(huì)輸出 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();
}

會(huì)輸出 年齡只能在 1 - 120 之間

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

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

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

會(huì)輸出 年齡必須在1~120之間。

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

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

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

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

使用多語言

如果需要使用多語言驗(yàn)證信息,可以在定義驗(yàn)證信息的時(shí)候使用 {%語言變量} 替代 原來的驗(yàn)證錯(cuò)誤信息,例如:

$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();
}
文檔最后更新時(shí)間:2018-04-26 10:46:25

文檔
目錄

深色
模式

切換
寬度