如果沒有定義易優(yōu)cms任何的驗證提示信息,EYOU系統(tǒng)會顯示默認(rèn)的錯誤信息,例如:
$rule = [
‘name’ => ‘require|max:25’,
‘a(chǎn)ge’ => ‘number|between:1,120′,
’email’ => ’email’,
];$data = [
‘name’ => ‘thinkphp’,
‘a(chǎn)ge’ => 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’,
‘a(chǎn)ge|年齡’ => ‘number|between:1,120′,
’email’ => ’email’,
];$data = [
‘name’ => ‘thinkphp’,
‘a(chǎn)ge’ => 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’,
‘a(chǎn)ge’ => ‘number|between:1,120′,
’email’ => ’email’,
];
$msg = [
‘name.require’ => ‘名稱必須’,
‘name.max’ => ‘名稱最多不能超過25個字符’,
‘a(chǎn)ge.number’ => ‘年齡必須是數(shù)字’,
‘a(chǎn)ge.between’ => ‘年齡必須在1~120之間’,
’email’ => ‘郵箱格式錯誤’,
];
$data = [
‘name’ => ‘thinkphp’,
‘a(chǎn)ge’ => 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個字符’],
[‘a(chǎn)ge’,’number|between:1,120′,’年齡必須是數(shù)字|年齡必須在1~120之間’],
[’email’,’email’,’郵箱格式錯誤’]
];$data = [
‘name’ => ‘thinkphp’,
‘a(chǎn)ge’ => 121,
’email’ => ‘thinkphp@qq.com’,
];
$validate = new Validate($rule);
$result = $validate->check($data);
if(!$result){
echo $validate->getError();
}使用多語言
如果需要使用多語言驗證信息,可以在定義驗證信息的時候使用 {%語言變量} 替代 原來的驗證錯誤信息,例如:
$rule = [
‘name’ => ‘require|max:25’,
‘a(chǎn)ge’ => ‘number|between:1,120′,
’email’ => ’email’,
];
$msg = [
‘name.require’ => ‘{%name_require}’,
‘name.max’ => ‘{%name_max}’,
‘a(chǎn)ge.number’ => ‘{%age_number}’,
‘a(chǎn)ge.between’ => ‘{%age_between}’,
’email’ => ‘{%email_error}’,
];
$data = [
‘name’ => ‘thinkphp’,
‘a(chǎn)ge’ => 121,
’email’ => ‘thinkphp@qq.com’,
];
$validate = new Validate($rule,$msg);
$result = $validate->check($data);
if(!$result){
echo $validate->getError();
}