12700


CakePHP3のバリデーションで質問です。  
バリデーションを定義する時に使うaddメソッドでルール名を指定すると思いますが、このルール名はいったい何に使うのでしょうか？何にすべきかよくわからず、適当に命名しています。わざわざ命名するからには何かで利用することがあると思うのですが、そこがよく分かりません。  
下記のソースの例では、全てのaddメソッドでルール名に'valid'を指定しています。

[code]

    class UsersTable extends Table
    {
        // ...
        public function validationDefault(Validator $validator)
        {
            $validator
                ->add('id', 'valid', ['rule' => 'numeric'])
                ->allowEmpty('id', 'create');
    
            $validator
                ->add('name', 'valid1', ['rule' => 'alphaNumeric'])
                ->add('name', 'valid2', ['rule' => ['minLength', 10]])
                ->notEmpty('name');
    
            $validator
                ->add('email', 'valid', ['rule' => 'email'])
                ->notEmpty('email');
    
            //...
            return $validator;
        }
        //...
    }
    
[/code]


CC BY-SA 3.0
2015-07-24T20:25:25.983
12666
2015-07-25T18:40:15.493
9529
question
php cakephp
CakePHP3のバリデーションで指定するルール名の用途は？


バリデーションルールを動的に制御したい場合のルール識別子として利用します。  
たとえばValidatorクラスにはremoveメソッドがありますが、  
<http://api.cakephp.org/3.0/class-Cake.Validation.Validator.html#_remove>  
このメソッドの第2引数にあたります。

[code]

    $validator->remove('name', 'valid2');
    
[/code]


CC BY-SA 3.0
2015-07-25T18:40:15.493
12700
2015-07-25T18:40:15.493
10492
12666
answer