我目前有一个使用jquery验证的表单。该表单包含许多单选按钮(“是”、“否”),每个对应的“是”/“否”单选按钮组都有一个描述文本框,如果用户选择“是”,则该文本框是必需的。如下所示:

下面是执行验证的方法:
$.validator.addMethod('conditionalrequired', function (value, element, params) {
var input = $(params);
var checked = input.prop('checked');
if (checked) {
return value != '' && value != "0";
}
return true;
});
$.validator.unobtrusive.adapters.add("conditionalrequired", ["boolpropertyname"], function (options) {
options.rules["conditionalrequired"] = "#" + options.params.boolpropertyname + 'Yes';
options.messages["conditionalrequired"] = options.message;});
验证效果很好。我唯一的问题是,当验证被触发并显示错误消息时,选择"No“选项不会删除错误消息(它不会阻止表单被提交)。我需要做些什么才能得到我想要的效果?
发布于 2015-01-15 17:37:53
在change输入的radio事件上,您可以调用方法来触发验证测试,这将酌情切换相关的错误消息。
radio输入时触发。只重新评估正在更改的一个radio。
$('#myform inputtype=" radio "').on('change',function() { $( this ).valid();// -重新验证这一个无线电输入});radio输入时触发。一次重新评估所有radio输入。
$('#myform inputtype=“.on‘).on(’change‘,function() { $('#myform inputtype=”inputtype=’).valid();// <-重新验证每个无线电输入});radio输入时触发。立即重新评估整个表单。
$('#myform inputtype=“.on‘).on(’change‘,function() { $('#myform').valid();// <-重新验证整个表单});发布于 2015-01-14 18:08:39
为了记录在案,下面是我为实现我想要实现的目标所做的事情--在“不”单选按钮单击事件上,我调用:
var validator = $("form").validate();
validator.element("#textboxName");这将验证输入并删除验证消息。我在docs 这里中找到了这个解决方案。
https://stackoverflow.com/questions/27945720
复制相似问题