gpt4 book ai didi

jquery - 自定义验证规则 - jQuery 验证引擎

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

您好,感谢您花时间回答我的问题。

我需要在验证引擎中创建一条验证规则,该规则不允许值为 0。(这意味着至少必须选择一个元素)。我有一个 select 元素,默认值(请选择一个项目)的值为 0,因为它不是必需的。但是,一旦选择了复选框,我就需要将其设置为必填项。我无法添加类“validate[required]”,因为 0 是有效值。所以我的问题是如何制定一个自定义规则,不允许将 0 值传递给 Controller ​​。

再次感谢

最佳答案

我认为自定义验证不需要。您可以在选中复选框时借助 jquery 添加必需的属性,并在未选中该属性时删除该属性(并在准备首次加载的文档上检查它)。例如:

$('#myCheckBox').click(function () {
if ($(this).is(':checked')) {
$('#myDropDown').removeAttr('required');
}
else {
$('#myDropDown').attr('required', true);
}
});

但在这种情况下你的 <option>值应该为空。 <option value>Please select an item</option> (据我所知,这是下拉列表的通常行为)。之后jquery验证插件将自动验证所需的属性。

编辑

好吧,如果你确实应该使用自定义验证,你可以这样做:

1)添加您的验证方法(例如在准备好的文档上)

 $.validator.addMethod("checkIfNotZero", function (value, element) {
return this.optional(element) || ($('#checkbox').is(':checked')&&value!=0);
}, "Please, select value");
$.validator.addClassRules("mySpecificClass", { checkIfNotZero: true });

2) 用 class="mySpecificClass" 标记您的下拉列表

3) 并检查是否 $('#myDropDown').valid()在必要的地方(或者例如在 onSubmit 事件处理程序中调用 $(form).validate())。

我想就这些了。希望它会有所帮助。

关于jquery - 自定义验证规则 - jQuery 验证引擎,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12636931/

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