我正在编写我的第一个自定义rails验证,并且如果它们返回false,则希望使用html“error”类来标记有问题的类 - 我无法弄清楚如何执行它。以下相关验证码 - 任何帮助表示赞赏。
(如果它有所作为,我正在使用jQuery)
validates_each :shop do |record, attr, value|
shopvar = record.shops.map{ |s| s.email.downcase.strip }
if shopvar.count != shopvar.uniq.count
record.errors.add(attr, 'has the same email address entered more than once')
#record.errors[attr] << "You have entered this shop in the form twice"
end
end
答案 0 :(得分:3)
因此,在您的表单中,您对输入字段有类似的内容
<%= form.text_field :title %>
由于错误是哈希,你可以使用“include?”这样的方法......
errors.include?(:title)
这告诉你这个字段有问题。现在你需要做的就是设计风格。
重击三元运营商...
<% css_class = errors.include?(:title) ? "highlight_error_class" : "no_problem_class" %>
<%= form.text_field :title, :class => css_class %>
完成。