【问题标题】:Can't get jQuery Validation plugin error message to go away无法让 jQuery Validation 插件错误消息消失
【发布时间】:2012-06-09 08:06:18
【问题描述】:

我在 div (parent1) 中有一组单选按钮,根据页面上的其他设置通过 javascript 显示或隐藏。

<div class="parent1">
<input type="radio" name="legal_14" id="legal_14a" value="1" class="legal_14"/> <label for="legal_14a">option 1</label><br/>
<input type="radio" name="legal_14" id="legal_14b" value="2" class="legal_14"/> <label for="legal_14b">option 2</label><br/>
<input type="radio" name="legal_14" id="legal_14c" value="3" class="legal_14"/> <label for="legal_14c">option 3</label><br/>
<span class="val-error"></span><br/>
</div>

我只想在单选按钮可见时验证它们。所以我有一个依赖回调来处理这种情况:

 "legal_14": {
  required: function() {if (!$('.parent1').is(':visible')) {console.log(false); return false;} else if ($("input[name='legal_14']:checked").length > 0) {console.log(false); return false;} else {console.log(true); return true;}}},
...
errorPlacement: function(error, element) {
  element.nextAll(".val-error").first().html(error.html());
},
success: function(label) {
  label.nextAll(".val-error").first().html();
}

因此,这对于在正确的情况下(即当按钮可见但未单击时)显示错误消息非常有效。问题是,一旦我选择了其中一个单选按钮,console.log 会正确返回 false,但错误消息不会消失。我在其他地方有一个类似的依赖回调,它不依赖于正常工作的可见性。我做错了什么?

【问题讨论】:

    标签: jquery callback jquery-validate


    【解决方案1】:

    根据我的理解,这应该可行:

    if($(".parent1").is(":visible"))
    {
        // do validation 
    
       // return message 
    }
    

    【讨论】:

    • 这基本上就是我正在做的事情,除了我还要检查其中一个复选框是否被实际选中。我从我的函数中获得了正确的返回值,它似乎并没有清除错误消息。
    猜你喜欢
    • 1970-01-01
    • 2011-05-23
    • 2010-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多