RubyonRails:验证卡的月份和年份



我在应用程序中使用卡的详细信息,我想验证这些信息,这样每当用户添加他/她的卡详细信息时,它都会显示过去一个月和一年的错误消息。

这是我正在使用的代码-

.task-name-container.required
%label Expiration Date
= f.input :month, collection: %w(1 2 3 4 5 6 7 8 9 10 11 12), label: false, required: true, input_html: { class: "task-select #{'error' unless f.object.errors[:expiration_date].empty?}" }
= f.input :year, collection: (Date.today.year..(Date.today.year+10)), label: false, required: true, input_html: { class: "task-select year #{'error' unless f.object.errors[:expiration_date].empty?}" }

目前,此代码允许用户添加上个月的内容。

有人知道如何根据haml文件中的条件添加错误消息吗?

请帮忙!谢谢

一个解决方案可以是向类添加验证(假设是Card(:

class Card
validate :is_past?
private
def is_past?
submitted_date = Date.new(year, month).end_of_month
today = Date.current
errors.add :expiration_date, "Your card is expired" if today > submitted_date
end
end

相关内容

  • 没有找到相关文章

最新更新