は、検証し、関数内のカスタム検証エラーメッセージにHTMLを追加する方法はありますか?例えばカスタム検証エラーメッセージ
:上記を行う
class Product < ActiveRecord::Base
validates :legacy_code, :format => { :with => /\A[a-zA-Z]+\z/,
:message => "Only letters allowed <a href=\"www.example.com\"> Check here </a> " }
end
は単にタグとHTMLとしてそれを解釈するブラウザずにリテラル文字列を与えます。
私はロケールを使用してみましたが、それはそれを行うために、より複雑な方法のように思えます。私はたくさんのウェブサイトを探検し、field_error_procメソッドをオーバーライドしようとしました。例えば
:
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
上記の作品が、二回意図したよりもエラーメッセージの数を示します。
ここにすべてのヘルプは大歓迎されます。
は、部分的なエラーメッセージに.html_safeを使用してを解決:
<% if @user.errors.any? %>
<div id="error_explanation">
<div class="alert alert-error">
The form contains <%= pluralize(@user.errors.count, "error") %>.
</div>
<ul>
<% @user.errors.full_messages.each do |msg| %>
<li>* <%= msg.html_safe %></li>
<% end %>
</ul>
</div>
<% end %>
を使用しますそれを消毒することなく何かをあなたのエラーメッセージに入れてください。 –