首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重新验证单选按钮选择的输入

问重新验证单选按钮选择的输入
EN

Stack Overflow用户
提问于 2015-01-14 14:52:44
回答 2查看 2.4K关注 0票数 0

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

​

下面是执行验证的方法:

代码语言:javascript
复制
$.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“选项不会删除错误消息(它不会阻止表单被提交)。我需要做些什么才能得到我想要的效果?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 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();// <-重新验证整个表单});
票数 4
EN

Stack Overflow用户

发布于 2015-01-14 18:08:39

为了记录在案,下面是我为实现我想要实现的目标所做的事情--在“不”单选按钮单击事件上,我调用:

代码语言:javascript
复制
 var validator = $("form").validate();
 validator.element("#textboxName");

这将验证输入并删除验证消息。我在docs 这里中找到了这个解决方案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27945720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档