gpt4 book ai didi

javascript - Jquery 验证插件 - 仅在某些情况下适用于数字字段

转载 作者:行者123 更新时间:2023-12-02 19:10:11 25 4
gpt4 key购买 nike

我正在尝试使用 jQuery Validate 对数值进行验证,但仅在选中单选按钮时进行;如果未选中单选按钮,则该字段将是必填字段,但用户可以插入字母数字值;问题是仅验证该字段是否为空,并且 console.log 显示我想要的值(true 或 false),但在提交时数据会发送到服务器。这就是我所拥有的:

$("#new_redeem_coupon").validate({
rules:{
'redeem_coupon[confirmation_number]': {
required: function(element){
var v = $("#redeem_coupon_confirmation_number").attr("value");
if($("#redeem_coupon_coupon_kind_0").attr("checked") == "checked"){
ret = (v == "");
console.log("VALUE1: " + ret);
return ret;
}
else{
var ret = (v == "" || isNaN(v));
console.log("VALUE2: " + ret);
return ret;
}
}
}
},
errorPlacement:function(error, element){
$(element).attr("title",error.html()).tooltip({track:true});
},
success:function(label){
},
errorClass: "invalid",
focusCleanUp: true
});

我也尝试过以下代码,但没有成功;该值始终保持为 false:

'redeem_coupon[confirmation_number]': { required:true, number: $("#redeem_coupon_coupon_kind_0").attr("checked") != "checked" }

预先感谢您的帮助。

巴勃罗·马蒂

最佳答案

解决方案:使用 http://docs.jquery.com/Plugins/Validation/rules#.22add.22rules 中列出的 addremove 方法

规则:

$("#new_redeem_coupon").validate({
rules:{
'redeem_coupon[confirmation_number]': {required: true}
},
errorPlacement:function(error, element){
$(element).attr("title",error.html()).tooltip({track:true});
},
success:function(label){
},
errorClass: "invalid",
focusCleanUp: true
});

我通过 radio 添加一个事件来添加和删除每种情况的规则:

$(".coupon_kind_opt").change(function(){
if($("#redeem_coupon_coupon_kind_0").attr("checked") == "checked"){
$("#redeem_coupon_confirmation_number").rules("remove", "number");
}
else{
$("#redeem_coupon_confirmation_number").rules("add", {
number: true
});
}
})

关于javascript - Jquery 验证插件 - 仅在某些情况下适用于数字字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13842946/

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