简体   繁体   English

验证Rails表单提交

[英]Validating Rails form submission

I am trying to validate form before the form submission, but the form get's submitted and the jQuery part is not called. 我正在尝试在提交表单之前验证表单,但是表单的提交已提交,并且未调用jQuery部分。

<%= form_for(:session,class:"form-signin form-horizontal",:id=>
  "form",:role=>
  "form") do |f| %>
  <div class="input-group input-group-mardin-bottom">
    <span class="input-group-addon">
      <i class="glyphicon glyphicon-user">
      </i>
    </span>
    <%= f.text_field :email,class:"form-control required",:placeholder=>
      "username or email", name:"username"%>
    </div>
    <div class="input-group input-group-mardin-bottom">
      <span class="input-group-addon">
        <i class="glyphicon glyphicon-lock">
        </i>
      </span>
      <%= f.password_field :password,class:"form-control required",:placeholder=>
        "password", password:"password" %>
      </div>
      <div class="input-group">
        <div class="checkbox">
          <label>
            <input id="login-remember" type="checkbox" name="remember" value="1">
            Remember me
          </label>
        </div>
      </div>
      <div class="form-group login-page-margin-10">
        <div class="col-sm-12 controls">
          <%= f.submit "Sign In", :class =>
            "btn btn-success" %>
          </div>
        </div>
        <div class="form-group">
          <div class="col-md-12 control">
            <hr/>
            <div>
              <a href="#">
                <strong>
                  Forgot your password?
                </strong>
              </a>
            </div>
          </div>
        </div>
        <%end%>

jQuery jQuery的

 $("#form").validate({

});

The jQuery validate method is not called at all. 完全不调用jQuery validate方法。

Its in rails 3, but preload @session object in your action and try 它在Rails 3中,但是在您的操作中预加载@session对象并尝试

<%= form_for @session , html: { id: "form", class: "form-signin form-horizontal", role: "role" } do |f| %> 
<% end %>

May be this example should help you.Try this with your form . 可能这个例子应该有助于you.Try这与你的form

$(document).ready(function () {
$(“#new_user”).validate({
debug: true,
rules: {
“user[email]“: {required: true, email: true},
“user[password]“: {required: true, minlength: 6},
“user[password_confirmation]“: {required: true, equalTo: “#user_password”}
}
});
});

Source 资源

Hope it helps! 希望能帮助到你!

Did you install the jquery validate plugin ? 您安装了jquery validate插件吗?

If not, you can use this gem: 如果没有,则可以使用以下gem:

gem "jquery-validation-rails"

and add the following to your application.js file if your are using the asset pipeline: 如果您正在使用资产管道,则将以下内容添加到application.js文件中:

//= require jquery.validate
//= require jquery.validate.additional-methods

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM