我正在验证模型字段number
。
我尝试实现只允许numbers
或8
个字符长的6
。
但是使用此代码我收到错误:
代码:
validates :number, length: { is: [6,8] }
错误:
ArgumentError (:is must be a nonnegative Integer or Infinity):
app/models/patient.rb:6:in `<class:Patient>'
app/models/patient.rb:1:in `<top (required)>'
app/controllers/patients_controller.rb:38:in `create'
我该如何更改我的代码?感谢
答案 0 :(得分:0)
自定义验证可能类似于:
class PatientValidator
def validate(patient)
patient.errors.add(:number, "Bad length!") unless [6, 8].include? patient.number
end
end
然后,在患者中:
validates_with PatientValidator