【发布时间】:2014-04-09 17:37:31
【问题描述】:
Parsley v2.X 中是否可以像之前的版本一样使用日期验证?
示例 (v1.x):parsley-onorafterdate="#currentDate"
我在文档中找不到有关此问题的信息。
【问题讨论】:
标签: javascript parsley.js
Parsley v2.X 中是否可以像之前的版本一样使用日期验证?
示例 (v1.x):parsley-onorafterdate="#currentDate"
我在文档中找不到有关此问题的信息。
【问题讨论】:
标签: javascript parsley.js
我相信对于文档化的核心验证器之外的任何验证器,您都需要复制预构建的验证器或自己制作。
要添加其他验证器,您只需在包含 parsley 之前将验证器添加到窗口配置变量。
这里有一个例子:http://parsleyjs.org/doc/examples/customvalidator.html
如果您使用 requirejs,我相信您可以创建一个新模块,然后在 requirejs 定义方法中简单地要求您的其他验证器,尽管我还没有测试过这个理论!
举个例子:
首先我定义了我的自定义 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。
理论上,如果您有想要使用的旧欧芹验证方法的逻辑,您可以将其粘贴到您的自定义验证器中,但希望它看起来很容易构建您自己的!
【讨论】: