CakePHP中必需的规则嵌套

时间:2013-01-08 16:20:17

标签: validation cakephp

我将通过CakePHP教程,而我正处于简单授权应用程序的开头。相对于users表的模型,有以下代码:

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

我在Wiki中获得了一些数据验证帮助,但我无法理解为什么'rule'array嵌套在'required'数组下?我知道required是一个单独的函数,关于在保存的数据块中是否存在具有相同名称的数组键,因此它肯定会被其后面的“notEmpty”规则排除。那时我猜它只是一个规则名称并没有真正改变任何东西。我错了吗?

1 个答案:

答案 0 :(得分: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
  )
);

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