验证机制

ruby 代码
  1. #有效性的验证,通过调用activerecord中的validate method实现   
  2.   
  3. #非空字段   
  4. validates_presence_of :fieldname,:others  
  5.   
  6. #字段长度   
  7. validates_length_of :fieldname,:within=>1..10   
  8.   
  9. #类型   
  10. validates_numericality_of :fieldname  
  11.   
  12. #唯一性   
  13. validates_uniqueness_of :fieldname  
  14.   
  15. #自定义校验   
  16. #重写protected validate方法,该方法会在save之前被rails自动调用。eg.   
  17. protected def valiedate        
  18.      errors.add(:fieldname,"notice infomation"if condition   
  19.     end  
  20.   
  21. #自定义message   
  22. validates_xxxx_of :name:message=>'请输入用户名'   
  23.   
  24. #复杂格式校验,通过正则表达式匹配   
  25. validates_format_of :fieldname,:with => pattern,:message => "notice infomation"  
  26.   
  27. #跨model验证   
  28. #Model   
  29. class User <ActiveRecord::Base   
  30.     has_one :user_data  
  31.     validates_presence_of :name , :email  
  32.     validates_associated :user_data  
  33. end  
  34. class UserData < ActiveRecord::Base   
  35.     belongs_to :user  
  36.     validates_presence_of :sex  
  37. end  
  38. #View   
  39. <p>   
  40. <label for="user_email">Email<label><br/>   
  41. <%= text_field 'user', 'email'  %>   
  42. <%= @user.user_data.errors['sex'] if @user.user_data %>   
  43. <p>  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值