【问题标题】:Why my selectbox custom jquery validation not working?为什么我的选择框自定义 jquery 验证不起作用?
【发布时间】:2012-10-04 19:30:44
【问题描述】:

我想验证我的选择框并尝试了不同的方法。

我不想让用户使用默认值 = “请选择”。

验证只在第一次工作,但是当我提交表单验证通过时。

我的 HTML 选择:

      <select id="website_category" name="website[category]" class="selectBox" style="display: none; "><option value="">--- please select ---</option>
       <option value="Banking">Banking</option>
       <option value="Computers">Computers</option>

这是我的代码:

 jQuery.validator.addMethod("notEqual", function(value, element, param) {
   return value != param;
  }, "Please select something");
  ...
  'website[category]': {
              notEqual: "--- please select ---"
        },

也试过

 required:true

这是我得到的。当我选择默认值时给我:

但是当我提交验证通过时:

为什么会这样?有人可以提出正确的解决方案吗?

【问题讨论】:

    标签: jquery-validate drop-down-menu


    【解决方案1】:

    最好的方法是将其设置为禁用,如下所示:

    <select id="website_category">
     <option value="-1" disabled selected="selected">---please select---</option>
      ....
    </select>
    

    然后您检查客户端和服务器端的值 -1,以确保安全。

    一旦用户更改了选择,您就不能再次选择该选项。这也会强制执行错误检查。

    【讨论】:

    • 我正在使用 Rails 并使用助手生成选择标签,我会尽力做你所说的,谢谢。
    • 另外,我想只使用 jQuery 验证插件来检查它。有可能吗?
    • 是的。但是你应该更关心服务器端。您还可以使用 jQuery 挂钩您的表单。如果所有值都无效,您可以调用 preventDefault(); 取消对象的默认操作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-26
    • 1970-01-01
    • 1970-01-01
    • 2018-04-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多