如何在jquery.validate.js的规则中使用IF-ELSE条件
如何在Jquery验证中使用规则函数中的IF-ELSE条件 我使用一个表单,其中一些字段是选项1所必需的,而一些字段是选项2所必需的 范例 对于下面的代码,我需要选项1的名称和地址,选项2的名称和url。如何对此使用IF/Else条件如何在jquery.validate.js的规则中使用IF-ELSE条件,jquery,validation,forms,Jquery,Validation,Forms,如何在Jquery验证中使用规则函数中的IF-ELSE条件 我使用一个表单,其中一些字段是选项1所必需的,而一些字段是选项2所必需的 范例 对于下面的代码,我需要选项1的名称和地址,选项2的名称和url。如何对此使用IF/Else条件 $(document).ready(function(){ $("#demo-form").validate({ rules: { name: "required",
$(document).ready(function(){
$("#demo-form").validate({
rules: {
name: "required",
address: "required",
url: "required url",
integer: {
required:true,
integer:true,
min: 5
},
}
});
为什么不这样做呢:
$(document).ready(function () {
$("#demo-form").validate({
rules: {
<% if (option1=true) { %>
name: "required",
<% } %>
address: "required",
url: "required url",
integer: {
required: true,
integer: true,
min: 5
},
}
});
$(文档).ready(函数(){
$(“#演示表单”)。验证({
规则:{
名称:“必需”,
地址:“必填”,
url:“必需的url”,
整数:{
要求:正确,
整数:对,
最小:5
},
}
});
您可以使用内联if语句:
$(document).ready(function(){
$("#demo-form").validate({
rules: {
name: someCondition ? "required" : "notrequired",
address: "required",
url: "required url",
integer: {
required:true,
integer:true,
min: 5
},
}
});
其中someCondition
的计算结果过于布尔,例如:($('selectedOption')。val()==1)
注意:当不需要属性时,在
notrequired
的位置放置正确的名称。sZipCode:page.langID==1?{required:true,minlength:5,number:true,range:[179999]}:{required:true,minlength:5,number:true,rangesk:[100099998000,99999]},
这个问题显然很老了,但我相信它仍然是相关的。当前的Jquery Validate插件包含语法,允许在将字段设置为必填字段之前满足条件。例如,如果您希望仅在选中复选框后才将字段设置为必填字段,则将使用:
$( "#myform" ).validate({
rules: {
email: {
required: "#other:checked"
}
}
});
注意:此处必须选中ID为other
的复选框,以便输入属性name='email'
或者,您可以在rules对象中编写一个函数,在需要单独的元素之前检查另一个元素的值。例如:
$( "#myform" ).validate({
rules: {
age: {
required: true,
min: 3
},
parent: {
required: function(element) {
return $("#age").val() < 13;
}
}
}
});
$(“#myform”)。验证({
规则:{
年龄:{
要求:正确,
min:3
},
家长:{
必需:功能(元素){
返回$(“#age”).val()<13;
}
}
}
});
注意:在这里,属性为name='age'
的输入字段的值必须小于13,属性为name='parent'
的输入字段是必需的。在此函数中传递元素参数非常重要
这两个示例都是针对Jquery验证插件的网站,下面是链接:Dumb Question:为什么不使用服务器端语言进行验证?这是需要在客户端使用Jquery进行验证的要求。我猜你不理解我的问题,我将举一个示例。请编辑你的答案并格式化代码以使其可读able(行首需要4个空格,代码标记不起作用,afaik和您的经验:)
$( "#myform" ).validate({
rules: {
age: {
required: true,
min: 3
},
parent: {
required: function(element) {
return $("#age").val() < 13;
}
}
}
});