Rails4验证顺序;返回'不能为空'而不是无效格式

时间:2016-09-28 04:50:04

标签: ruby-on-rails ruby validation

我为uuid设置了验证器。

app/model/user.rb

中的

  VALID_UUID_REGEX = /\A[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}\z/i
  validates :uuid, presence: true, uniqueness: true, format: { with: VALID_UUID_REGEX, message: 'invalid uuid format' }

它有效。但是,当我插入一些格式无效的uuid时,它会返回uuid: can't be blank错误,而不是invalid uuid format

有什么想法吗?也许一些验证命令? (我对email几乎使用相同的验证器,它可以工作。)

更新 我也尝试了单独的验证,但结果是一样的。

  validates :uuid, presence: true, uniqueness: true

  VALID_UUID_REGEX = /\A[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}\z/i
  validates :uuid, format: { with: VALID_UUID_REGEX, message: 'invalid uuid format' }

0 个答案:

没有答案