【问题标题】:Client validate jquery plugin doesn't work客户端验证 jquery 插件不起作用
【发布时间】:2012-11-13 18:33:27
【问题描述】:

我使用路径 assets\javascripts\jquery.validate.js (rails 3.2) 上的 jquery 插件进行客户端验证。但它不起作用。我的表格:

update_name_phone_city_user_registration_path, :html => { :id => "form_edit_name", :method => :put }, :remote => true) 做 |f| %>


10%> “提交”%>

我的 application.js 文件:

//= require jquery
//= require jquery_ujs
//= require bootstrap-modal
//= require_tree .


$(document).ready(function() {

$("#form_edit_name").validate({
   debug: true,
   rules: {
      "user[name]": {
        required: true,
        minlength: 2
      },
    "user[name]": {
      required: 'Your username is required',
      minlength: 'The minimum number of characters is 2'
     }

     alert("ok");
   });

});

怎么了?

UPD 1 生成的 HTML 代码

<script src="/assets/jquery.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery_ujs.js?body=1" type="text/javascript"></script>
<script src="/assets/bootstrap-modal.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery.validate.js?body=1" type="text/javascript"></script>
<script src="/assets/application.js?body=1" type="text/javascript"></script>


<form accept-charset="UTF-8" action="/users" class="edit_user" id="form_edit_name" method="post">
<div><label for="user_name">Name</label><br />
        <input id="user_name" name="user[name]" size="30" type="text" value="" /></div>
</form>

【问题讨论】:

    标签: jquery ruby-on-rails-3 validation jquery-plugins jquery-validate


    【解决方案1】:

    假设您正在验证这样的测试输入

    <input type="text" id="name" name="name" />
    

    试试这个

    $("#form_edit_name").validate({
           debug: true,
           rules: {
              "name": { required: true, minlength: 2 },
           messages: {
            "name": {
              required: 'Your username is required',
              minlength: 'The minimum number of characters is 2'
             }
          }
        });
    

    【讨论】:

    • @Stack Stack 你的 html 是什么样的?
    • 我怀疑有一个带方括号的名称将适用于 jquery。
    • 我认为,模式窗口有问题。
    • 我通过 ajax 以模态方式加载了我的表单。从模态窗口中删除表单后,一切正常。
    【解决方案2】:

    解决方案似乎是将名称值放在引号中。

    $("#form_edit_name").validate({
       debug: true,
       rules: {
          "user[name]": { required: true, minlength: 2 },
       messages: {
          "user[name]": {
           required: 'Your username is required',
           minlength: 'The minimum number of characters is 2'
         }
      }
    });
    

    jQuery Validator Plugin on Ruby on Rails 3?了解详情。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-26
      相关资源
      最近更新 更多