
现在我见到的流行的表单验证,大多都是自己写 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' => '爱咋咋地']], 更自由点,你可以自己定义验证逻辑,传个函数即可。(代码不贴了)
1 azh7138m 2018-06-28 12:42:44 +08:00 就算是拿开源的讲 https://ant.design/components/form-cn/#%E6%A0%A1%E9%AA%8C%E8%A7%84%E5%88%99 楼主是不是对前端有啥误解 |
2 agagega 2018-06-28 12:54:21 +08:00 不说前端,楼主可以看看 Rails 的 Validation |
3 m939594960 2018-06-28 13:34:47 +08:00 哈哈,你可以看下 laravel 的表单验证,而且 laravel 的规则可以通过插件直接对前端使用。 |
4 wxsm 2018-06-28 14:24:58 +08:00 你大可以封装一个自己的 message factory 啊,我也没觉得有多“不轻松” |
7 chinvo 2018-06-28 15:00:55 +08:00 jQuery.Validation |
8 hitaoguo OP @m939594960 挺简便的,不错 |