如果没有定义易优cms任何的验证提示信息,EYOU系统会显示默认的错误信息,例如:
$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字段设置中文名,例如:
$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 之间。
验证规则和提示信息分开定义如果要输出自定义的错误信息,有两种方式可以设置。下面的一种方式是验证规则和提示信息分开定义:
$rule = [
‘name’ => ‘require|max:25’,
‘age’ => ‘number|between:1,120′,
’email’ => ’email’,
];
$msg = [
‘name.require’ => ‘名称必须’,
‘name.max’ => ‘名称最多不能超过25个字符’,
‘age.number’ => ‘年龄必须是数字’,
‘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之间。
验证规则和提示信息一起定义可以支持验证规则和错误信息一起定义的方式,如下:
$rule = [
[‘name’,’require|max:25′,’名称必须|名称最多不能超过25个字符’],
[‘age’,’number|between:1,120′,’年龄必须是数字|年龄必须在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();
}
发表评论
评论列表(条)