2013-01-08 43 views
2

我正在通过CakePHP教程,我正在开发简单授权应用程序。有下面的代码,相对于模型为用户表:在CakePHP中嵌套所需的规则

public $validate = array(
     ’username’ => array(
       ’required’ => array(
        ’rule’ => array(’notEmpty’), 
        ’message’ => ’A username is required’ 
     ) 
), 

我去槽一些Wiki中的数据验证的帮助,但我不明白,为什么是“rule'array下的嵌套'required'数组?我知道所需的是一个单独的函数,关于在数据块中是否存在一个具有相同名称的数组键,因此肯定会被它后面的“notEmpty”规则排除。在那一点上,我猜测这只是一个规则名称,并没有真正改变任何事情。我错了吗?

回答

5

不知道该怎么回答,但是,不,你没有错。在您的示例中出现的“必需”仅仅是规则的名称。

就我个人而言,我倾向于用数字命名我的规则以避免这种混淆。

public $validate = array(
    'username'=>array(
    'one'=>array(
     'rule'=>'notEmpty', 
     'message'=>'Please enter a username', 
     'required'=>true 
    ) 
), 
    'email'=>array(
    'rule'=>'notEmpty', 
    'message'=>'Please enter an email address', 
    'required'=>true 
) 
); 

这两个规则是一样的,但第一个规则允许添加多个规则。

+0

+1。我发现规则命名起初有点混乱,似乎与直觉相反,但它确实有道理 – Ross