Validation CakePHP中的必需规则嵌套

Validation CakePHP中的必需规则嵌套,validation,cakephp,Validation,Cakephp,我将学习CakePHP教程,我将开始简单的授权应用程序。相对于用户表的模型,有以下代码: public $validate = array( ’username’ => array( ’required’ => array( ’rule’ => array(’notEmpty’), ’message’ => ’A username is requi

我将学习CakePHP教程,我将开始简单的授权应用程序。相对于用户表的模型,有以下代码:

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

我浏览了Wiki中的一些数据验证帮助,但我不明白为什么“规则”数组嵌套在“必需”数组下?我知道required是一个单独的函数,用于确定保存的数据块中是否有同名的数组键,因此它肯定会被后面的“notEmpty”规则排除。在这一点上,我猜它只是一个规则名称,并没有改变任何东西。我错了吗

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

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

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
  )
);

这两个规则相同,但第一个规则允许添加多个规则。

+1完全相同。我发现命名规则一开始也有点混乱,它看起来几乎违反直觉,但它确实有意义