关于YII model中rules的更准确认识
public function rules()
{
    return array(
        array('title, content, status', 'required'),
        array('status', 'in', 'range'=>array(1,2,3)),
        array('title', 'length', 'max'=>128),
        array('tags', 'match', 'pattern'=>'/^[\w\s,]+$/', 'message'=>'Tags can only contain word characters.'),
        array('tags', 'normalizeTags'),
        array('title, status', 'safe', 'on'=>'search'),
    );
}

每个属性都至少包含一个规则,否则将不被赋值(除非强制手动赋值)。

如果不需要做任何判断,可直接定义为安全的:array('propertyName','safe')

on 是指定规则所在环境

例:array('propertyName','required','on'=>'example');

析:propertyName在example情境中需要验证required规则

设置情境的方法:
$model->scenario = 'example';

其他的规则应该比较好理解,如果再有问题我再来续写

若您觉得我的博文对您有帮助,欢迎点击下方按钮对我打赏
打赏