在我的表格中,这是一张信用卡验证表单,我有2个字段(progn
(defun ...)
(defun ...))
和expiry_year
。
expiry_month
但是我希望有一个隐藏的Expiry字段,如果上面的2个字段无效,则在表单中显示为红色。
因此表单看起来像这样,但我需要验证中的Expiry标签是红色的,我该怎么做?
以下是字段在视图的 validates :expiry_month,
length: { is: 2, allow_blank: true },
numericality: { only_integer: true, allow_blank: true }
validates :expiry_year,
length: { is: 4, allow_blank: true },
numericality: { only_integer: true, allow_blank: true }
中的显示方式。
form.html.haml
答案 0 :(得分:0)
看来你可以这样做:
如果您有错误类,可以检查是否有错误并在视图中显示该类。
.error { color: #9d1d20; }
- if @donation.errors.messages.keys.any? { |k| k.match(/expiry/) }
= f.label 'Expiry', class: "form-label-expiry error"
- else
= f.label 'Expiry', class: "form-label-expiry"
= f.text_field :expiry_month, autocomplete: "off"
= f.text_field :expiry_year, autocomplete: "off"