我有一个带有客户端验证gem验证前端字段的模型。
我的问题是针对以下字段(法国的欧洲增值税号码):
validates :VAT, length: { maximum: 15 }
validates :VAT, format: { with: /\A[a-zA-Z]{2}\d{0,13}\z/ }
我还有这个回调,以便在验证之前将其标准化:
before_validation :normalize_vat
def normalize_vat
if self.VAT.present?
self.VAT[0]=self.VAT[0].capitalize
self.VAT[1]=self.VAT[1].capitalize
self.VAT = self.VAT.delete(' ')
end
end
此回调大写字母并剥离用户可以输入的空格,例如:
FR 333 3333 333333
虽然看起来client_side_validations没有选择回调前端......
我可以更改正则表达式以匹配任何间隔输入,但它会破坏我的验证,因为我无法再验证长度...
有没有办法解决这个问题?