加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如何在Rails验证错误上突出显示字段

发布时间:2020-12-16 19:30:53 所属栏目:百科 来源:网络整理
导读:如何在Rails 3.1中的验证错误失败的字段中显示表单字段突出显示?我知道脚手架会自动生成css和控制器代码来处理这个问题,但我想知道是否有办法手动生成它.我已经通过以下方式实现了错误消息的字符串显示:@ user.errors.full_messages.each …等,但是我无法
如何在Rails 3.1中的验证错误失败的字段中显示表单字段突出显示?我知道脚手架会自动生成css和控制器代码来处理这个问题,但我想知道是否有办法手动生成它.我已经通过以下方式实现了错误消息的字符串显示:@ user.errors.full_messages.each …等,但是我无法让字段以红色突出显示.有任何想法吗?

谢谢.

解决方法

假设您的CSS文件中的字段有错误类:
<% if @user.errors[:name] %>
  <%= f.label :name,:class => "error" %>
<% else %>
  <%= f.label :name %>
<% end %>

这是你想要的吗?

额外:here’s a section about customizing default ActiveRecord validations CSS.

编辑:(关于额外的ifs)

# 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,:password) %>
[...]

(我可能在那里犯了一个错误 – 我正在写一个电话 – 但你得到了一般的想法.你可以用多种方式编码这个=无穷大,所以你喜欢这样做…)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读