2017-10-31 13 views
0

私はCakephp-1プロジェクトをCakephp-3に変換しています。だから私は、検証コードを変換するための助けが必要です:cakephp-3フォームの長さ範囲の検証

CakePHPの-1コード

'name' => array(
    'between' => array(
     'rule' => array('between', 2, 50), 
     'message' => 'Ditt namn måste vara minst två tecken långt!' 
    ) 
) 

私はコードを試しています

CakePHPの-3コード

$validator 
    ->requirePresence('name', 'create') 
    ->notEmpty('name') 
    ->add('name', [ 
     'between' => [ 
      'rule' => [2, 50], 
      'message' => 'Namnet måste vara mellan 2 och 50 tecken lång!', 
     ] 
    ]); 

しかしそれは私にエラーを与える:

Unable to call method "2" in "default" provider for field "name"...

ここで私は何ができますか?

答えて

1

正しいコードは、あなたはまた、各最小長と最大長さの異なる検証メッセージを設定することができ

->add('name', [ 
    [ 
     'rule' => ['lengthbetween', 2, 50], 
     'message' => 'Namnet måste vara mellan 2 och 50 tecken lång!', 
    ] 
]); 
+0

大感謝!それは働いている。 – Zahid

0

次のようになります。

$validator 
    ->add('body', [ 
     'minLength' => [ 
      'rule' => ['minLength', 10], 
      'last' => true, 
      'message' => 'Comments must have a substantial body.' 
     ], 
     'maxLength' => [ 
      'rule' => ['maxLength', 250], 
      'message' => 'Comments cannot be too long.' 
     ] 
    ]); 
関連する問題