读书人

yii rules 印证详解

发布时间: 2013-07-09 09:50:47 作者: rapoo

yii rules 验证详解

  1. public?function?rules()??
  2. {??
  3. ????return?array(??
  4. ????????array('project_id,?type_id,?status_id,?owner_id,?requester_id,',?'numerical',?'integerOnly'=>true),??
  5. ????????array('name',?'length',?'max'=>256),??
  6. ????????array('description',?'length',?'max'=>2000),??
  7. ????????array('create_time,create_user_id,update_user_id,?update_time',?'safe'),??
  8. ????????array('id,?name,?description,?project_id,?type_id,?status_id,?owner_id',?'on'=>'search'),??
  9. ????);??
  10. }??
  11. ??
  12. //required:?必填??
  13. array('title,content','required'),??
  14. ??
  15. //match:?正则表达式验证??
  16. array('birthday',?'match',?'pattern'=>'%^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$%',?'allowEmpty'=>true,?'message'=>'生日必须是年-月-日格式'),??
  17. ??
  18. //email:邮箱格式验证??
  19. array('user_mail',?'email'),???
  20. ??
  21. //url:URL格式验证??
  22. array('user',?'url'),???
  23. ??
  24. //unique:唯一性验证??
  25. array('username',?'unique','caseSensitive'=>false,'className'=>'user','message'=>'用户名"{value}"已经被注册,请更换'),??
  26. //caseSensitive?定义大小写是否敏感??
  27. ??
  28. //compare:一致性验证??
  29. array('repassword',?'compare',?'compareAttribute'=>'password','message'=>'两处输入的密码并不一致'),??
  30. ??
  31. //length:长度验证???
  32. ??
  33. //in:?验证此属性值在列表之中(通过range指定)。??
  34. ??
  35. //numerical:?验证此属性的值是一个数字??
  36. ??
  37. //captcha:?验证属性值和验证码中显示的一致??
  38. array('verifyCode','captcha'),??
  39. ??
  40. //type:?验证属性的类型是否为type所指定的类型.???
  41. ??
  42. ??
  43. //file:?验证一个属性是否接收到一个有效的上传文件??
  44. ??
  45. ??
  46. //default:?属性指定默认值??
  47. ??
  48. ??
  49. //exist:?验证属性值在数据库中是否存在??
  50. ??
  51. ??
  52. //boolean:?验证布尔属性值??
  53. ??
  54. ??
  55. //date:?检验此属性是否描述了一个日期、时间或日期时间??
  56. ??
  57. ??
  58. //safe:?属性标志为在批量赋值时是安全的。??
  59. ??
  60. ??
  61. //unsafe:?标志为不安全,所以他们不能被批量赋值。?

?

?

二、Yii CModel.rules()方法 、validate预定义完整列表

array(

?array(‘username’, ‘required’),
?array(‘username’, ‘length’, ‘min’=>3, ‘max’=>12),
?array(‘password’, ‘compare’, ‘compareAttribute’=>’password2′, ‘on’=>’register’),
?array(‘password’, ‘authenticate’, ‘on’=>’login’),

??array(‘Price’,'numerical’, ‘integerOnly’=>true),
);
public function rules()
{
??return array(
??????array(‘title, content, status’, ‘required’),
??????array(‘title’, ‘length’, ‘max’=>128),
??????array(‘status’, ‘in’, ‘range’=>array(1,2,3)),
??????array(‘tags’, ‘match’, ‘pattern’=>’/^[\w\s,]+$/’,
??????????’message’=>’Tags can only contain word characters.’),
??????array(‘tags’, ‘normalizeTags’),
??????array(‘title, status’, ‘safe’, ‘on’=>’search’),
??);
}预定义完整列表:?

?

?

读书人网 >编程

热点推荐