2

我正在学习 CakePHP 教程,我正处于 Simple Authorization 应用程序的开始阶段。相对于 users 表的模型,有以下代码:

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

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

4

1 回答 1

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

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

于 2013-01-08T16:39:14.143 回答