gpt4 book ai didi

jquery - 应用于所有元素的验证规则

转载 作者:行者123 更新时间:2023-12-01 00:48:24 24 4
gpt4 key购买 nike

我需要通过 id 而不是 name 将验证规则分配给特定的输入元素。

为此,我执行以下代码:

   $("#cvc").rules("add", { required: true, validateCvc: true });
$("#cardNumber").rules("add",
{ creditcard: true, messages: { creditcard: "Invalid Card Number" } });

但是,这实际上是将规则分配给表单上的所有输入。我可以通过记录附加到不同输入的规则来验证这一点:

   console.log($("#name").rules());

输出:

Object {required: true, validateCvc: true, creditcard: true} 

更新

看起来这可能与 jQuery Validate Unobtrusive 插件有关,我开始发现它比它的值(value)更麻烦。设置验证的代码在添加规则之前调用 validate:

function validationInfo(form) {
var $form = $(form),
result = $form.data(data_validation),
onResetProxy = $.proxy(onReset, form);

if (!result) {
result = {
options: { // options structure passed to jQuery Validate's validate() method
errorClass: "input-validation-error",
errorElement: "span",
errorPlacement: $.proxy(onError, form),
invalidHandler: $.proxy(onErrors, form),
messages: {},
rules: {},
success: $.proxy(onSuccess, form)
},
attachValidation: function () {
$form
.unbind("reset." + data_validation, onResetProxy)
.bind("reset." + data_validation, onResetProxy)
.validate(this.options);
},
validate: function () { // a validation function that is called by unobtrusive Ajax
$form.validate();
return $form.valid();
}
};
$form.data(data_validation, result);
}

return result;
}

更新2

这是一个存储库 - http://jsfiddle.net/benfosterdev/emZB8/

您可以在控制台中看到,这显然为两个字段设置了“必填”规则,即使第二个字段未指定。

如果您想直接使用验证插件,最好删除对不引人注目的插件的引用。

最佳答案

如果输入没有唯一的名称属性,jQuery Validate 将无法工作。

我浪费了大约 2 个小时来完成这个工作。当我没有正确使用他们的插件时,为什么开发人员不会抛出错误?!

关于jquery - 应用于所有元素的验证规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14962973/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com