フォームページの上部ではなく、フィールドの横にエラーを表示する方法はありますか?
質問する
2701 次
5 に答える
8
initializers / my_custom_error_messages.rb
ActionView::Base.field_error_proc = Proc.new do |html_tag, instance|
errors = Array(instance.error_message).join(',')
%(#{html_tag}<span class="validation-error"> #{errors}</span>).html_safe
end
アップデート:
ラベルなし
ActionView::Base.field_error_proc = Proc.new do |html_tag, instance|
errors = Array(instance.error_message).join(',')
if html_tag =~ /^<label/
html_tag
else
%(#{html_tag}<span class="validation-error"> #{errors}</span>).html_safe
end
end
ref:レールガイド
于 2012-12-19T10:38:31.373 に答える
1
simple_form gemを使用して、フィールドで検証エラーを表示できます
<%= simple_form_for @user do |f| %>
<%= f.input :username %>
<%= f.input :password %>
<%= f.button :submit %>
<% end %>
また、フォームの使用の上部に検証エラーを表示したい場合
object.error_messages
フォームタグの後
于 2012-12-19T10:29:39.190 に答える
1
これは以前はRailsの一部でしたが、現在はgemで利用できます。
https://github.com/joelmoss/dynamic_form
これにより、フォームビルダーオブジェクトの特定の属性のエラーを簡単に表示できます。次に例を示します。
<%= f.text_field :foo %>
<%= f.error_message_on :foo %>
于 2012-12-19T11:58:22.293 に答える
0
@model.errors
レイアウトの最上位divでの反復が原因で、エラーがフォームの上部に表示されます。このコードを移動して各フィールドのハッシュのエラーをチェックすると、必要なことを実行できます。
于 2012-12-19T10:32:13.420 に答える
0
<td class="error"><%=@user.errors[:firstname].join(",") %></td>
于 2015-07-07T03:39:24.260 に答える