我有一个密码字段,可以验证presence
并且length
两者都工作正常。但是当我提交带有空白密码字段的表单时,它会显示两个验证的错误消息。
我想要的是如果密码为空,则length
验证器不得检查并仅显示presence
验证器的错误消息。只有存在密码时才会检查长度验证器。
我有一个密码字段,可以验证presence
并且length
两者都工作正常。但是当我提交带有空白密码字段的表单时,它会显示两个验证的错误消息。
我想要的是如果密码为空,则length
验证器不得检查并仅显示presence
验证器的错误消息。只有存在密码时才会检查长度验证器。
您可以使用Object#with_options
和ActiveRecord::Base#new_record?
:
class User < ActiveRecord::Base
with_options :if => :new_record? do |user|
user.validates :password, presence: true, length: { maximum: 20 }
end
end
与其他验证一起通过这个
:allow_blank => true
例如
validates :password, :presence => true, :length => { :maximum => 20, :allow_blank => true }