【问题标题】:Bassistance validation with attributes. What's the syntax?带有属性的 Bassistance 验证。语法是什么?
【发布时间】:2012-09-13 01:04:46
【问题描述】:

根据文档-例如-您可以通过使用属性来指定需要输入元素参数的验证。它说这是推荐的方法。像这样:

<input type="password" minlength="6" maxlength="50"/>

好的,这很容易。现在如何使用 html 属性指定(例如)范围?

<input type="number" range="[5, 50]"/>

不,这行不通。也没有括号、花括号、花括号和括号或它们的任何组合。但这以一种完全出乎意料的方式起作用:

<input type="number" range="53"/> 

- 它吐出错误消息“数字必须在 5 到 3 之间”

有人可以告诉我正确的语法吗?

注意:这是一个示例。我意识到我可以通过使用

来解决这个特殊问题
<input type="number" min="5" max="50"/> 

我正在寻找有关如何使用 jquery-validate 属性 API 构建复杂验证规则的更一般的答案。

谢谢!

编辑

这是另一个例子。您如何使用“首选”属性语法来做到这一点?

$('form').validate({
    rules: {
        rt: {
          required: function(element) {
            return $("#age").val() < 13;
          }  
        }
    }
});

以下不起作用:

<form>
    <input type="text" id="age" name="age"/>
    <input type="text" id="rt" name="rt" required="function(element) { return $('#age').val() < 13;}"/>

    <input type="text" id="tabcatcher"/>
    <input type="submit"/>
</form>

使用以下 jsfiddle:

http://jsfiddle.net/GKNZF/

【问题讨论】:

  • 不明白你的意思。 &lt;input type="number" min="5" max="50"/&gt; 有什么问题?你为什么要寻找其他东西?
  • 在问题中添加了另一个示例
  • 也许更好地重述这个问题 - 任何人都可以说明用于那些可以通过属性调用的验证规则的语法,并说明哪些验证规则不能通过属性调用?我将接受该声明并将其作为文档补丁提交给项目。

标签: jquery validation jquery-validate


【解决方案1】:

在更一般的情况下,没有文档说明哪些验证可以通过添加类来调用,哪些可以通过添加属性和参数/表达式/函数来调用,哪些不能通过属性调用。从代码中,可以通过将其名称添加到类列表来调用验证列表:

必填
电子邮件
网址
日期
日期ISO
号码
数字
信用卡

我知道的验证可以通过属性调用:

分钟
最大
最小长度
最大长度
等于

未知。没有使这些工作所需的语法文档,也没有文档说它们不起作用:

需要回调
需要表达式
远程

由于长期存在的错误而无法工作:

范围
范围长度

【讨论】:

  • 谢谢,这份清单对我很有帮助。
【解决方案2】:

这是插件中的一个已知问题/错误,据报告 here。基本上,该插件将53 视为两位数的数组,5 为最小值,3 为最大值。

要修复它,您需要应用以下补丁:

// Patch by Chris Tierney (CF Webtools 7/13/2011)
// Issue logged at https://github.com/jzaefferer/jquery-validation/issues/112
$.each(['rangelength', 'range'], function() {
    if (typeof rules[this] == 'string') {
        rules[this] = rules[this].split(",");
    }
    if (rules[this]) {
        rules[this] = [Number(rules[this][0]), Number(rules[this][1])];
    }
});

【讨论】:

  • 好的 - 我看到这也在一个拉取请求中得到修复,用于实现即将登陆的 html5 数据属性。然而,这并不能回答“如何使用 jquery-validate 属性 API 构建复杂的验证规则”这一更广泛的问题。
猜你喜欢
  • 2014-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多