是否可以像以前的版本一样在Parsley v2.X中使用日期验证?
示例(v1.x):parsley-onorafterdate =" #currentDate"
我无法在文档中找到有关此问题的信息。
答案 0 :(得分:7)
我相信对于所记录的核心验证器之外的任何验证器,您需要复制预先构建的验证器或自己创建验证器。
要添加其他验证器,您只需要在包含parsley之前将验证器添加到窗口配置变量中。
他们在这里有一个例子:http://parsleyjs.org/doc/examples/customvalidator.html
如果您正在使用requirejs,我相信您可以创建一个新模块,然后只需要在requirejs define方法中使用其他验证器,尽管我还没有测试过该理论!
举个例子:
首先我定义我的自定义parsley dom属性
<input name="date" type="text" data-parsley-trigger="change" data-parsley-date required/>
在加载欧芹之前的脚本中
window.ParsleyConfig = window.ParsleyConfig || {};
window.ParsleyConfig.validators = window.ParsleyConfig.validators || {};
window.ParsleyConfig.validators.date = {
fn: function (value) {
return /^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((19|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\/(0[13456789]|1[012])\/((19|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((19|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/.test(value);
},
priority: 256
};
ParsleyConfig.validators.date匹配我的自定义dom属性(日期),函数根据正则表达式返回true或false。
理论上,如果你想要使用旧的欧芹验证方法的逻辑,你可以将它粘贴到自定义验证器中,但希望它看起来很容易构建你自己!