2018-07-17

2018-07-17  本文已影响0人  护念

单个属性分类验证

个人理解:对于大规模,大量重复使用的字段,我们可以将这些字段的验证抽出,单独成类使用,如下:

# 单个字段类
class EmailValidator < ActiveModel::EachValidator
   # 这里定义 validate_each 方法
  def validate_each(record,attr,value)
    unless value =~ /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i
      record.errors[attr] << '邮箱格式不正确'
    end 
  end
end
class User < ApplicationRecord
  validates :email, email: true
 # 调用方式 字段: true 即可打开
end

PS: 它和单个类验证是对应的

上一篇 下一篇

猜你喜欢

热点阅读