【问题标题】:Parsley.js date validation in v2.xv2.x 中的 Parsley.js 日期验证
【发布时间】:2014-04-09 17:37:31
【问题描述】:

Parsley v2.X 中是否可以像之前的版本一样使用日期验证?

示例 (v1.x):parsley-onorafterdate="#currentDate"

我在文档中找不到有关此问题的信息。

【问题讨论】:

    标签: javascript parsley.js


    【解决方案1】:

    我相信对于文档化的核心验证器之外的任何验证器,您都需要复制预构建的验证器或自己制作。

    要添加其他验证器,您只需在包含 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。

    理论上,如果您有想要使用的旧欧芹验证方法的逻辑,您可以将其粘贴到您的自定义验证器中,但希望它看起来很容易构建您自己的!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-14
      • 1970-01-01
      • 1970-01-01
      • 2015-12-11
      • 2013-12-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多