gio*_*vaZ 4 ruby ruby-on-rails twitter-bootstrap
我正在定义一个名为“联系人”的表中存在的一些字段的验证:
class Contact < ActiveRecord::Base
validates :nome, :cognome, :indirizzo_abitazione,
:numero_civico, :indirizzo_email, :prefisso_cellulare, :cellulare, presence: true
validates :nome, :cognome, :indirizzo_email,
:prefisso_cellulare, :cellulare, uniqueness: true
validates :indirizzo_email, format: { with: /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i, on: :create }
end
Run Code Online (Sandbox Code Playgroud)
如果存在错误,我想利用引导程序的类属性“has-error”以红色突出显示特定字段;所以我试图以这种方式做到这一点:
<div class="form-group <%= @contact.errors[:name] ? "has-error" : "" %>" >
<%= f.label :name , :class => "control-label" %><br>
<%= f.text_field :name, :class => "form-control" %>
</div>
Run Code Online (Sandbox Code Playgroud)
但是当我登录到这个页面时,该字段已经是红色的。有没有一种方法可以查看在验证一条记录期间,特定字段是否出现错误?
@contact.errors[:name]返回一个消息数组,如果里面没有消息,@contact.errors[:name]则只返回一个空数组。数组是一个对象,因此您的语句将始终 yield "has-error"。
这将起作用:
<%= @contact.errors[:name].present? ? "has-error" : "" %>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1585 次 |
| 最近记录: |