在输入字段内验证Rails bootstrap simple_form

时间:2013-06-27 11:23:28

标签: css ruby-on-rails validation twitter-bootstrap simple-form

尊敬的人......

我在我的rails应用程序中使用了twitter bootstrap和simple_form ...我需要在输入字段中获取错误消息,而不是在侧面显示...就像下面显示的图像一样....

enter image description here

我该怎么做......

我的表格如下

    <div class="row-fluid">
      <div class="span6 offset3 centered">
        <%= simple_form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
        <%= f.error_notification %>
        <div class="form-inputs">
          <%= f.input :name, required: true, autofocus: true, wrapper: :prepend, error: true, wrapper_html: { class: 'input-error' } do %>
            <span class="add-on"><i class="ss-icon ss-user"></i></span>
            <%= f.input_field :name, placeholder: "Full Name" %>
          <% end %>
          <%= f.input :email, required: true, required: true, wrapper: :prepend, error: true, wrapper_html: { class: 'input-error' } do %>
            <span class="add-on"><i class="ss-icon ss-mail"></i></span>
            <%= f.input_field :email, placeholder: "Email" %>
          <% end %>
          <%= f.submit "Sign up", class: "btn btn-primary sign" %>
        </div>
        <% end %>
      </div>
    </div>

谢谢...

2 个答案:

答案 0 :(得分:0)

model.errors包含有关验证错误的所有信息。此代码可以根据您的要求将错误消息放在输入字段中。我希望可以帮助您提出一些解决方案。

<%= f.input_field :email, :placeholder => "Email", value: (resource.errors.include?(:email) ? resource.errors.get(:email).join(', ') : resource.email ) %>

resource.errors.include?(:email)告诉您电子邮件属性是否出错,而resource.errors.get(:email)返回错误消息数组。

此外,您还需要禁用错误字段末尾附加的自动生成的内联错误消息,类名为“help-inline”的范围

答案 1 :(得分:0)

尝试使用引导程序无效

<div class="form-group row">
      <%= form.label :email, class: 'col-md-3 col-form-label'  %>
      <div class="col-md-9">
          <%= form.text_field :email, class: 'form-control' + (admin.errors.include?(:email) ? ' is-invalid' : '') %>
      </div>
  </div>