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

shangrenzhidao · 2015年06月01日 · 最后由 shangrenzhidao 回复于 2015年06月01日 · 1256 次阅读

比如像这样: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 我来检测一下吧。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号