现在我见到的流行的表单验证,大多都是自己写 message 的,比如 { required:true,message:'请输入 xxx'}。 写少点无所谓,但是字段多了之后就会觉得重复。
而我见过 yii 框架(php 的一个框架)的表单验证,它的 rules 是这样写的
public function rules() { return [ // name, email, subject 和 body 属性必须有值 [['name', 'email', 'subject', 'body'], 'required'], // email 属性必须是一个有效的电子邮箱地址 ['email', 'email'], ]; } 指定一个验证器类型,指定要验证的表单字段,然后就开始验证。
每个验证器,它的 message 格式都是一样的,只不过就是 attribute 不一样而已,比如上面可能会这样报错 name 不能为空
那可能你还想让‘ name ’显示成‘姓名’,那么你只需要再写好一个 labels
public function attributeLabels() { return [ 'name' => '姓名', 'email' => '邮箱', ]; } 这样验证结果就是‘姓名不能为空’,不觉得这样就很轻松吗?
再自由点,你也可以传入一个 message
[['name', 'email', 'subject', 'body'], 'required', ['message' => '爱咋咋地']], 更自由点,你可以自己定义验证逻辑,传个函数即可。(代码不贴了)
