gpt4 book ai didi

javascript - 需要 Jquery 验证插件方法(依赖表达式)使用正常但回调不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:39:19 25 4
gpt4 key购买 nike

我正在努力使这项工作成功;此验证应用于付款表单,如您所见,只有 3 个必需的输入,当且仅当

input[type=radio]:checked').val() != "CB";

wich 表示用户是否要使用信用卡以外的其他方式付款。以下是验证我的表单的完整代码。

$("#paiement").validate({
errorClass: "invalid",
validClass: "success",
rules: {
referenceTypeComplementBancaire: true,
banque: {
required: function(nomBanque){
return $('#paiement input[type=radio]:checked').val() != "CB";
}
},
numeroComplementBancaire: {
required: function(numeroCompl){
return $('#paiement input[type=radio]:checked').val() != "CB";
}
},
montantComplementBancaire: {
required: function(montantCompl){
var logg = montantRentre >= panierTotal;
console.log(logg);
return montantRentre >= panierTotal;
}
}
},
messages: {
referenceTypeComplementBancaire: "",
banque:"",
numeroComplementBancaire:"",
montantComplementBancaire:""
}
});
}

没什么难的,真的。但是,令我难以理解的是为什么 montantComplementBancaire 没有经过验证,即使我的控制台日志记录在正确的时间向我显示“真”或“假”。我做错了什么?

------------------------编辑---------------- --------------------------

我认为存在某种误解,我的错。抱歉,伙计们。下面是表单最终的样子:

        $("#paiement").validate({
errorClass: "invalid",
validClass: "success",
rules: {
referenceTypeComplementBancaire: true,
banque: {
required: function(nomBanque){
return $('#paiement input[type=radio]:checked').val() != "CB";
}
},
numeroComplementBancaire: {
required: function(numeroCompl){
return $('#paiement input[type=radio]:checked').val() != "CB";
}
},
montantComplementBancaire: {
required: function(){
var logg = panierTotal > montantRentre;
console.log(logg);
return panierTotal > montantRentre;
}
}
},
messages: {
referenceTypeComplementBancaire: "",
banque:"",
numeroComplementBancaire:"",
montantComplementBancaire:""
}
});

我哪里错了?我不仅希望“montantComplementBancaire”得到验证,而且我希望它在当且仅当它 >= to panierTotal

时才有效

现在,我只是在测试是否验证它,但我正在寻找的是一种在 montantRentre >= 到 panierTotal 时返回“有效”的方法。

我是否让 tjis 更清晰了?

最佳答案

我认为您的验证设置不正确。每个表单元素的“required”属性应该是一个 JavaScript 对象,“depends”属性设置为一个函数,假设您要尝试做的是条件要求。请参阅验证选项页面上的“规则”条目:http://docs.jquery.com/Plugins/Validation/validate#toptions

我认为固定代码是:

$("#paiement").validate({
errorClass: "invalid",
validClass: "success",
rules: {
referenceTypeComplementBancaire: 'required',
banque: {
required: {
depends: function(nomBanque){
return $('#paiement input[type=radio]:checked').val() != "CB";
}
}
},
numeroComplementBancaire: {
required: {
depends: function(numeroCompl){
return $('#paiement input[type=radio]:checked').val() != "CB";
}
}
},
montantComplementBancaire: {
required: {
depends: function(montantCompl){
var logg = montantRentre >= panierTotal;
console.log(logg);
return montantRentre >= panierTotal;
}
}
}
},
messages: {
referenceTypeComplementBancaire: "",
banque:"",
numeroComplementBancaire:"",
montantComplementBancaire:""
}
});
}

关于javascript - 需要 Jquery 验证插件方法(依赖表达式)使用正常但回调不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1974603/

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