2009-10-26 6 views
4

Je travaille sur un projet cakePHP et j'ai configuré ma validation de données. Le problème que j'ai est que je continue à recevoir une erreur du noyau/modèle de cakePHP.validation cakePHP

L'erreur est: Avis (8): Undefined offset: 0 [CORE/cake/libs/modèle/model.php, ligne 2435]

     if (is_array($validator['rule'])) { 
         $rule = $validator['rule'][0]; 

Mes règles de validation se présentent comme suit:

 
    var $validate = array(
    'name' => array(
     'rule' => array('maxLength' => 80), 
     'required' => true, 
     'message' => 'Please enter your name' 
    ), 
    'address1' => array(
     'rule' => array('maxLength' => 80), 
     'required' => true, 
     'message' => 'You forgot your address' 
    ), 
    'address2' => array(
     'rule' => array('maxLength' => 80), 
     'message' => 'Your address can\'t be that long?' 
    ), 
    'city' => array(
     'rule' => array('maxLength' => 80), 
     'required' => true, 
     'message' => 'Your city can\'t be that long?' 
    ), 
    'zip' => array(
     'rule' => array('postal', null, 'us'), 
     'required' => true, 
     'message' => 'Your zip code is not in the corect format.' 
    ), 
    'phone' => array(
     'rule' => array('phone', null, 'us'), 
     'required' => true, 
     'message' => 'Your phone number is not in the corect format.' 
    ), 
    'email' => array(
     'rule' => 'email', 
     'required' => true, 
     'message' => 'Please enter a valid email address.' 
    ), 
    'seats' => array(
     'rule' => 'numeric', 
     'required' => true, 
     'message' => 'You forgot to let us know how many seats you need. If you will not be attending please enter a zero (0)' 
    ), 
    'seat_with' => array( 
     'rule' => array('maxLength' => 80), 
     'message' => 'Please keep this field below 80 charcters.' 
    ), 
    'cc_name' => array(
     'rule' => array('maxLength' => 80), 
     'required' => true, 
     'message' => 'Did you forget something?' 
    ), 
    'cc_number' => array(
     'rule' => array('cc', 'all', false, null), 
     'required' => true, 
     'message' => 'Your credit card number is not in the correct format.' 
    ), 
    'cc_expiration' => array(
     'rule' => array('date', 'my'), 
     'required' => true, 
     'message' => 'The correct answer will be in the following format MM/YYYY' 
    ), 
    'cc_cvv' => array(
     'rule' => 'numeric', 
     'required' => true, 
     'message' => 'Numbers only please.' 
    ) 
    ); 

Toute aide est très appréciée.

Répondre

9

Votre problème est dans la syntaxe de règle:

array('maxLength' => 80) 

Tout comme vos autres règles, il est ,, pas =>: array('maxLength', 80).


BTW, ma ville peut aussi long: http://en.wikipedia.org/wiki/Krung Thep Mahanakhon Amon Rattanakosin Mahinthara... ;-)

+0

Exactement ce que je avais besoin. Quelle erreur noob merci deceze. Je vais aussi augmenter la taille du nom de la ville. =) – JoshOiknine

+0

Pendant que vous y êtes, vous pouvez corriger l'orthographe de "corect" à "corriger" dans les messages pour "zip" et "téléphone". :) – Alan

Questions connexes