Form validating values doesn't work correctly
Hello i have got one questions>>
If i click on the form button, with any empty field, this field does not marked as
bad filled.
Only firstname and surname working correctly.
Where can be problem?
Thanks for any reply.
<?php
echo $form->create(array('action' => 'register'));
echo $form->input('User.email',array('label' => __('email as username', true)));
echo $form->input('User.password',array('label' => __('password', true)));
echo $form->input('User.password_confirm',array('label' => __('password_confirm', true),'type' => 'password'));
echo $form->input('User.firstname',array('label' => __('firstname', true)));
echo $form->input('User.surname',array('label' => __('surname', true)));
And validation in model>>
<?php
class User extends AppModel {
var $name = 'User';
var $useTable = 'users';
/*Set a relationship*/
var $belongsTo = array('Address'=>
array(
'className' => 'Address',
'foreignKey' => 'address_id',
'conditions' => '',
'fields' => '',
'order' => '')
);
/**
* Standard validation behaviour
*/
var $validate = array(
'firstname' => array(
'length' => array(
'rule' => array('minLength', 3),
'message' => 'Please enter your full name (more than 5 chars)',
'required' => true,
),
),
'surname' => array(
'length' => array(
'rule' => array('minLength', 2),
'message' => 'Must be more than 2 characters',
'required' => true,
),
'password' => array(
'rule' => 'alphanumeric',
'message' => 'May only contain letters and numbers',
'required' => true,
),
'password_confirm' => array(
'compare' => array(
'rule' => array('password_match', 'password', true),
'message' => 'The password you entered does not match',
'required' => true,
),
'email' => array(
'rule' => 'email',
'rule' => 'isUnique',
'message' => 'Already taken',
'required' => true,
),
),
'sex' => array(
'empty' => array(
'rule' => 'notEmpty',
'message' => 'Must not be blank',
'required' => true,
),
),
'tel' => array(
'rule' => 'numeric',
'message' => 'Use between 6 and 20 characters',
'required' => false,
),
),
);
}
?>
Asked by blacksymmetry, on 8/2/10
1 Answer
you have some fields nested in other fields
var $validate = array(
'firstname' => array(
'length' => array(
'rule' => array('minLength', 3),
'message' => 'Please enter your full name (more than 5 chars)',
'required' => true,
),
),
'surname' => array(
'length' => array(
'rule' => array('minLength', 2),
'message' => 'Must be more than 2 characters',
'required' => true,
),
),
'password' => array(
'rule' => 'alphanumeric',
'message' => 'May only contain letters and numbers',
'required' => true,
),
'password_confirm' => array(
'compare' => array(
'rule' => array('password_match', 'password', true),
'message' => 'The password you entered does not match',
'required' => true,
),
'email' => array(
'rule' => 'email',
'rule' => 'isUnique',
'message' => 'Already taken',
'required' => true,
),
),
'sex' => array(
'empty' => array(
'rule' => 'notEmpty',
'message' => 'Must not be blank',
'required' => true,
),
),
'tel' => array(
'rule' => 'numeric',
'message' => 'Use between 6 and 20 characters',
'required' => false,
)
);
Answered by dogmatic69on 8/2/10
<< previous next >>
Tagged with
Rating
0
Viewed
391 times
Last Activity
on 8/2/10