#cakephp-1.3
#cakephp-1.3
Вопрос:
Я выполняю некоторую базовую проверку модели для пользовательской модели, но, к сожалению, проверка работает некорректно.
Это мои ошибки:
- Если используется «требуется», всегда появляется сообщение об ошибке
- Если «требуется» не используется, сообщения об ошибке не будет, даже если введена неправильная переменная (например: ввод буквы A для имени.
- Электронная почта проверяется на «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',
),
),
);
Ответ №1:
Взгляните на документы. Я не уверен, что проверка электронной почты завершилась неудачей. Если вы хотите «лучшую» проверку, попробуйте:
'email' => array(
'rule' => array('email', true),
'message' => 'Must be a valid email address'
)