Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 具有属性的Basistance验证。什么';语法是什么?_Jquery_Validation_Jquery Validate - Fatal编程技术网

Jquery 具有属性的Basistance验证。什么';语法是什么?

Jquery 具有属性的Basistance验证。什么';语法是什么?,jquery,validation,jquery-validate,Jquery,Validation,Jquery Validate,根据文档,例如,您可以使用属性指定需要输入元素参数的验证。它说这是推荐的方法。像这样: <input type="password" minlength="6" maxlength="50"/> 好的,很简单。现在,如何使用html属性指定(例如)范围 <input type="number" range="[5, 50]"/> 不,那不行。也没有括号、花括号、花括号和括号或其任何组合。但这是一种完全出乎意料的方式: <input type="numbe

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

<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 attributes API构建复杂验证规则的更一般的答案

谢谢

编辑

这是另一个例子。如何使用“首选”属性语法实现这一点

$('form').validate({
    rules: {
        rt: {
          required: function(element) {
            return $("#age").val() < 13;
          }  
        }
    }
});
$('form')。验证({
规则:{
rt:{
必需:功能(元素){
返回$(“#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>

使用以下JSFIDLE:


这是插件中的一个已知问题/bug,正如所报告的所述。基本上,插件将
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])];
    }
});

这是插件中的一个已知问题/bug,正如所报道的那样。基本上,插件将
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])];
    }
});

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

必需的
电子邮件
url
日期
日期ISO
数字
数字
信用卡

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

最小值
最大值
最小长度
最大长度
埃奎尔托

不知道。没有使这些功能正常工作所需的语法文档,也没有说明它们不正常工作的文档:

需要回调
表达式为必填项
遥远的

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

范围

rangelength

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

必需的
电子邮件
url
日期
日期ISO
数字
数字
信用卡

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

最小值
最大值
最小长度
最大长度
埃奎尔托

不知道。没有使这些功能正常工作所需的语法文档,也没有说明它们不正常工作的文档:

需要回调
表达式为必填项
遥远的

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

范围

rangelength

不明白你的意思。
有什么问题吗?你为什么还要找其他的东西呢?在问题中添加了另一个例子也许对这个问题有一个更好的重述——谁能说明那些可以通过属性调用的验证规则所使用的语法,以及哪些验证规则不能通过属性调用?我会把那份声明作为项目的文档补丁提交给你。我不明白你的意思。
有什么问题吗?你为什么还要找其他的东西呢?在问题中添加了另一个例子也许对这个问题有一个更好的重述——谁能说明那些可以通过属性调用的验证规则所使用的语法,以及哪些验证规则不能通过属性调用?我将把这个声明作为文档补丁提交给这个项目。好的,我看到这个问题在一个实现html5数据属性的请求中也得到了解决,这个请求很快就会实现。然而,这并没有回答“如何使用jquery validate attributes API构建复杂的验证规则”这一更广泛的问题。好的,我看到这在一个实现html5数据属性的pull请求中也得到了修复,该请求很快就会实现。但是,这并没有回答“如何使用jquery验证属性API构建复杂的验证规则”这一更广泛的问题。谢谢,这个列表对我非常有帮助。谢谢,这个列表对我非常有帮助。