011*_*110 4 javascript validation jquery jquery-validate radio
并尽我所能了解 jQuery 验证器插件。
我在谷歌上进行了广泛的搜索,但找不到与我想要实现的目标类似的东西。请有人帮忙。
我正在尝试使用单选按钮构建问卷表单,并使用 jQuery 验证器插件对其进行验证。
我将如何设置特定于某些答案是是或否值的验证规则:
<p>Are you a member of our group? <br />
<input type="radio" name="member" value="Yes" class="required" id="memberYes" />
<label for="memberYes">Yes</label> <<<<----User must be a member and select 'Yes'
<input type="radio" name="member" value="No" id="memberNo" />
<label for="memberdNo">No</label>
</p>
<p>Are you currently under investigation? <br />
<input type="radio" name="investigation" value="Yes" class="required" id="investigationYes" />
<label for="investigationYes">Yes</label>
<input type="radio" name="investigation" value="No" id="investigationNo" />
<label for="investigationNo">No</label> <<<<----User must select 'No' or a message pops up to send them to the correct form
</p>
<p>Has your cat turned green? <br />
<input type="radio" name="greenCat" value="Yes" class="required" id="greenCatYes" /> <label for="greenCatYes">Yes</label> <<<<---- User must select 'Yes' This is only for users who's cat's are green
<input type="radio" name="greenCat" value="No" id="greenCatNo" />
<label for="greenCatNo">No</label>
</p>
<p>Are you currently on the diet? <br />
<input type="radio" name="diet" value="Yes" class="required" id="dietYes" />
<label for="dietYes">Yes</label> <<<<----User must select the 'Yes' option.
<input type="radio" name="diet" value="No" id="dietNo" />
<label for="dietNo">No</label>
</p>
Run Code Online (Sandbox Code Playgroud)
我尝试了以下方法,但似乎都不起作用:
$('#Form').validate({
rules: {
member:{required: function() {
$('input[name="member"]:checked').val() === 'Yes';
}
},
investigation:{required: function() {
return $('#investigationNo').is(':checked');
}
},
greenCat:{required:true},
diet:{required:'#dietYes:checked'}
Run Code Online (Sandbox Code Playgroud)
}
最诚挚的问候,并提前感谢您的帮助
我尝试添加一种新方法,但不知何故它似乎不起作用。
jQuery.validator.addMethod('correctAnswerRadio', function(value, element) {
var selectedVal = $('input[name='+element+']:checked').val();
alert(element.name + selectedVal + value);
if(selectedVal === value){ //Correct Value
return true;
}else{
return false;
}
});`
Run Code Online (Sandbox Code Playgroud)
我把它改成:
$('#Form').validate({
rules: {
member:{required:true,correctAnswerRadio:'Yes'},
investigation:{required:true,correctAnswerRadio:'No'},
greenCat:{required:true,correctAnswerRadio:'Yes'},
diet:{required:true,correctAnswerRadio:'Yes'}
}
});
Run Code Online (Sandbox Code Playgroud)
该方法仅在correctAnswerRadio:'No' 时将'value' 警告为“Yes”值。我可能做错了什么?
小智 5
我知道这是一个旧帖子,但谷歌仍然把人们带到这里。
我找到了一个简单的方法来解决它。它不在 jquery 验证器的文档中,但已解决。
首先,您必须选择一台收音机。可能是“不”。该值可以是任何值,但我使用过“True”或“False”
其次在javascript上执行此操作(假设您的字段名称是terms)
$('form').validate({
rules:{
terms: {min:"True"}
},
messages:{
terms: {min:'you must accept terms to move on.'}
}
});
Run Code Online (Sandbox Code Playgroud)
我在 jsfiddle 做了一个例子:http : //jsfiddle.net/ThcS8/117/
| 归档时间: |
|
| 查看次数: |
8653 次 |
| 最近记录: |