Я делаю некоторую базовую проверку модели для пользовательской модели, но, к сожалению, проверка работает неправильно.
Это мои ошибки:
- Если "требуется"используется, сообщение об ошибке всегда появляется
- Если «обязательный» не используется, сообщение об ошибке не появляется, даже если введена неверная переменная (т. е. вводится буква A для имени.
- Email проверяется на"name-gmail.com", который явно не является электронным письмом
ПОМОЩЬ! ПОЖАЛУЙСТА!
Вот моя валидная переменная в моей модели:
var $validate = array(
'name' => array(
'length' => array(
'rule' => array('minLength', 2),
'message' => 'Please enter your first name (more than 2 chars)',
'required' => true,
),
),
'username' => array(
'length' => array(
'rule' => array('minLength', 5),
'message' => 'Must be more than 5 characters',
),
'alphanum' => array(
'rule' => 'alphanumeric',
'message' => 'May only contain letters and numbers',
),
'unique' => array(
'rule' => 'isUnique',
'message' => 'Already taken',
'required' => true,
),
),
'email' => array(
'email' => array(
'rule' => 'email',
'message' => 'Must be a valid email address',
),
'unique' => array(
'rule' => 'isUnique',
'message' => 'Already taken',
),
),
'password' => array(
'empty' => array(
'rule' => 'notEmpty',
'message' => 'Must not be blank',
'required' => true,
),
),
'password_confirm' => array(
'compare' => array(
'rule' => array('password_match', 'password', true),
'message' => 'The password you entered does not match',
'required' => true,
),
'length' => array(
'rule' => array('between', 6, 20),
'message' => 'Use between 6 and 20 characters',
),
'empty' => array(
'rule' => 'notEmpty',
'message' => 'Must not be blank',
),
),
);