squ*_*uil 4 validation model ruby-on-rails
我正在发送朋友邀请函,我希望使用以下方式验证电子邮件地址User.validates_format_of :email,但User.email还有其他一些我并不感兴趣的验证.
那么有没有办法在模型上运行单个验证或检查特定验证是否已经过去(不做
user.errors.include?(validation_message)
)?
Mou*_*mir 10
您可以查看gem grouped_validations
class Person < ActiveRecord::Base
validation_group :name do
validates_presence_of :first_name
validates_presence_of :last_name
end
validates_presence_of :sex
end
Run Code Online (Sandbox Code Playgroud)
然后你可以在控制器中执行此操作
p = Person.new
p.group_valid?(:name) # => false
p.first_name = 'John'
p.last_name = 'Smith'
p.group_valid?(:name) # => true
Run Code Online (Sandbox Code Playgroud)