CakePHP аутентификация и проверка - PullRequest
0 голосов
/ 01 декабря 2010

У меня есть приложение, которое использует компонент Auth.Зарегистрированные участники могут изменять свои данные, пока у меня нет правил проверки в модели пользователей.Когда я добавляю массив $ validate в модель, пользователи не могут отправлять данные в базу данных.

Я использую одну таблицу mysql с именем users.

Другими словами, это работает, но у меня нет проверки при регистрацииview

<?php
class User extends AppModel {
var $name = 'User';
?>

Но когда я добавляю проверку следующим образом:

<?php
class User extends AppModel {
var $name = 'User';
var $validate = array(
  'email' => array(
    'email' => array('rule' => 'email','required'=>true,'message' => 'Enter proper mail')
  )
);
}
?>

проверка в представлении регистрации работает, но пользователи в секретной области не могут вводить данные в базу данных.

1 Ответ

1 голос
/ 01 декабря 2010

Я думаю: это происходит потому, что вы установили required на true.

Это обеспечивает соблюдение правила, согласно которому при отправке данных модели пользователя необходимо установить ключ email. Следовательно, это работает в вашей форме регистрации, которая, очевидно, имеет ключ электронной почты. С другой стороны, форма, которую вы используете в секретной области, вероятно, не имеет поля электронной почты.

Просто удалите «обязательное» условие из правила проверки:

'email' => array(
    'email' => array(
        'rule' => array('email'),
        'message' => 'Please enter a valid email',
    ),
),

Дайте мне знать, если это работает для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...