I am working on a cakePHP project and have set up my data validation. The problem i have is that i keep getting an error from the core/model of cakePHP.
The error is: Notice (8): Undefined offset: 0 [CORE/cake/libs/model/model.php, line 2435]
if (is_array($validator['rule'])) {
$rule = $validator['rule'][0];
My validation rules look like this:
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.'
)
);
Any help is much appreciated.
Your problem is in the rule syntax:
array('maxLength' => 80)
Just like your other rules, it's ,, not =>: array('maxLength', 80).
BTW, my city can be that long: http://en.wikipedia.org/wiki/Krung Thep Mahanakhon Amon Rattanakosin Mahinthara... ;-)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With