新手问题 请问 如何验证 Model 中的 Hash?

shangrenzhidao · June 01, 2015 · Last by shangrenzhidao replied at June 01, 2015 · 1260 hits

比如像这样:user => addition_info: {qq: 33333, email: [email protected] } 我想验证 Email 是否合法,该如何做?

要用校验应该平铺在 User Model 或者抽取成 AdditionInfo Model。

user.rb

class User
 validate :check_addition_email_info

 private
  def check_addition_email_info
     if not /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i.match(email)
        errors.add(:addition_info, "email invalid!")
     end
  end
end

未经验证 :)

#2 楼 @ruby_sky 我来检测一下吧。

You need to Sign in before reply, if you don't have an account, please Sign up first.