2

私はCakePHPチュートリアルを通過し、SimpleAuthorizationアプリの最初にいます。usersテーブルのモデルに関連して、次のコードがあります。

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

Wiki内のデータ検証ヘルプの一部を調べましたが、なぜ「ルール」配列が「必須」配列の下にネストされているのか理解できませんでした。保存するデータブロックに同じ名前の配列キーがあるかどうかに関する別の関数が必要であることを知っているので、それに続く「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
  )
);

これら 2 つのルールは同じですが、最初のルールでは複数のルールを追加できます。

于 2013-01-08T16:39:14.143 に答える