gpt4 book ai didi

JQuery验证插件: valid() returns false for non-required fields

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

valid() 函数指出:“检查所选表单是否有效或所有所选元素是否有效。”

这似乎意味着我们可以使用选择器测试一组控件(我们正在 asp.net 表单上测试控件),例如

$('div[id$=pnlBillingInfo] .Field input').valid()

如果所有字段都是必需的,则此方法有效。但是,如果一个字段不需要验证(required = false),则当该字段留空时 valid() 返回 false。

这种行为似乎不正确 - 我们是否遗漏了什么?我们应该能够将这些可选字段留空,并且仍然让控件组验证正常。

如果我们尝试验证此可选字段 - 结果是“未定义”,例如

$("#aspnetForm").validate().element('input[id$=txtBillingAddress2]')

jQuery 1.4.2

jQuery插件Validation 1.7(最新版本)

http://bassistance.de/jquery-plugins/jquery-plugin-validation/

谢谢!

最佳答案

我发现将表单验证规则与验证事件(即:提交表单的那一刻)真正分开很有用。

您需要通过每个输入/选择/等上的类在 JS 或 HTML 中设置表单规则。

我更喜欢通过 JS 来完成,因为它可以保持 DOM 的干净;另外,我通常将表单的规则放在 $(document).ready() 函数之外:

$('#form').validate({
rules: {
[...]
},
messages: {
[...]
}
});

这实际上没有任何作用。它只是设定规则。当您需要实际验证表单时,您可以通过触发 .valid() 事件来检查这些规则:

$(document).ready(function(){
$('#form').submit(function(){

// Check validity
if (!$(this).valid()) return false;

// Form is valid, so submit it!
[...]
});
});

关于JQuery验证插件: valid() returns false for non-required fields,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3124772/

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