如何突出显示 Rails 验证错误上的字段

2023-11-23

如何在 Rails 3.1 中突出显示未通过验证错误的字段的表单字段?我知道脚手架会自动生成 css 和控制器代码来处理这个问题,但我想知道是否有办法手动生成。我已经通过以下方式实现了错误消息的字符串显示:@user.errors.full_messages.each...等,但我无法使字段以红色突出显示。有任何想法吗?

Thanks.


假设你有一个errorCSS 文件中字段的类:

<% if @user.errors[:name] %>
  <%= f.label :name, :class => "error" %>
<% else %>
  <%= f.label :name %>
<% end %>

这是你想要的吗?

Extra: 这是关于自定义默认 ActiveRecord 验证 CSS 的部分。

Edit: (关于额外的如果)

# app/helpers/application_helper.rb

def field_class(resource, field_name)
  if resource.errors[field_name]
    return "error".html_safe
  else
    return "".html_safe
  end
end

进而:

# in your view

<%= f.label :name, :class => field_class(@user, :name) %>
<%= f.label :password, :class => field_class(@user, :password) %>
[...]

(我可能在那里犯了一个错误 - 我正在电话上写 - 但你明白了总体思路。你可以用多种方式编码=无限,所以按照你喜欢的方式去做......)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何突出显示 Rails 验证错误上的字段 的相关文章

随机推荐