client_side_validations和callbacks

时间:2018-03-13 21:57:13

标签: ruby-on-rails ruby-on-rails-5 client-side-validation

我有一个带有客户端验证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没有选择回调前端......

我可以更改正则表达式以匹配任何间隔输入,但它会破坏我的验证,因为我无法再验证长度...

有没有办法解决这个问题?

0 个答案:

没有答案