我知道我可以使用类似的自定义验证:
validates :start_date, precense: true
validate :start_date
private
def start_date
Time.at(@start_date)
rescue StandartError => e
errors.add(:start_date, "start_date is incorrect!")
end
但它看起来有点脏,有没有更好的方法呢?
更新
start_date = 628232400
Time.at(start_date) #=> 1989-11-28 00:00:00 -0500
答案 0 :(得分:1)
您可以使用validates_format_of
。但是你需要一个正则表达式来匹配。阅读更多here。
您还可以在现有验证中添加format: {with: regex}
。
答案 1 :(得分:1)
您可以尝试使用数字选项,因为任何数字都适用于Time.at(start_date)。您可能希望仅将其限制为正数。下面有几个选项。
connect(reply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(networkErrorSlot(QNetworkReply::NetworkError)));
或者如果您想限制值:
validates :start_date, presence: true, numericality: true