bootstrap4 field_error_proc
bootstrap3でのfield_error_proc設定はありましたが、bootstrap4の情報がほぼ無く書いてみたので、雑目なアウトプット
———————————-
config.action_view.field_error_proc = Proc.new do |html_tag, instance|
if instance.kind_of?(ActionView::Helpers::Tags::Label)
html_tag.html_safe
else
class_name = instance.instance_variable_get(:@object_name)
method_name = instance.instance_variable_get(:@method_name)
input_error_icon = html_tag.gsub("form-control", "form-control is-invalid").html_safe
below_error_message = "<div class=\"invalid-feedback\">#{I18n.t("activerecord.attributes.#{class_name}.#{method_name}")}#{instance.error_message.first}</div>".html_safe
input_error_icon.concat(below_error_message)
end
end
———————————-
エラーメッセージが不要で有れば、below_error_message以下は不要です。
これで、バリデーションエラー時にinput配下にエラーメッセージ、inputにエラーアイコンが表示されます。