簡體   English   中英

simple_form Bootstrap錯誤驗證

[英]simple_form Bootstrap error validation

在Rails教程第7章清單20中, https: //www.railstutorial.org/book/sign_up#sec-signup_error_messages M. Hartl使用了一個類

field_with_errors {
  @extend .has-error;
  .form-control {
    color: $state-danger-text;
  }

用引導程序設置突出顯示輸入錯誤的樣式。 他在這里使用form_for助手。 我正在嘗試使用simple_form做同樣的事情,但是它不起作用。 有人知道如何解決嗎? 出現錯誤時,我想突出顯示我的simple_form輸入字段。 請注意,即時通訊使用f.input_filed

 <div class="input-group sign_up">
     <span class="input-group-addon"><i class="fa fa-asterisk fa-2x"></i></span>
     <%= f.input_field :password_confirmation, label: false, placeholder: "Confirm password", class: "form-control input-lg" %>   
    </div>

   <div class="input-group">
    <span class="input-group-addon"><i class="fa fa-envelope fa-2x"></i></span>
    <%= f.input_field :email, label: false, placeholder: "Email", class: "form-control input-lg" %>   
   </div>
    <div class="form-group margin-btn_top">
   <%=f.button :submit, 'Create my account', class:  "btn btn-block btn-primary btn-lg", id: "btn-signup" %>
   </div>
<% end %>
  1. 首先看到CSS代碼中的錯誤

    \n     field_with_errors {\n       @extend .has-error;\n       .form-control {\n         顏色:$ state-danger-text;\n       }\n

.field_with_errors {
  @extend .has-error;
  .form-control {
    color: $state-danger-text;
  }
  1. 另外,要顯示錯誤塊,您可以執行如下所示的操作

     <% if @YOUR_VARIABLE.errors.any? %> <div id="error_explanation"> <div class="alert alert-danger"> The form contains <%= pluralize(@YOUR_VARIABLE.errors.count,"error")%>. </div> <ul> <% @YOUR_VARIABLE.errors.full_messages.each do |msg| %> <li><%= msg %></li> <% end %> </ul> </div> <% end %> 

UPDATE

With對於使用f.text_field創建的字段,不使用field_with_errors包裝css div,但適用於f.input

如果要將類傳遞給SimpleForm的輸入,則應使用

= f.input :name, :input_html => { :class => 'input-text' }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM