Kohana Обязательные поля к заполнению Kohana 3

betmenik

Новичок
Здравствуйте!
Помогите пожалуйста разобраться с задачей, все дело в регистрации на фреймворке kohana версии 3.3.
По умолчанию есть три полня для регистрации username, email, password. Из них username и email обязательны к заполнению и должны быть уникальны. Что делать если я хочу снять уникальность с одного из них или же добавить новое поле и сделать его уникальным и обязательным для заполнения.

Нашел только лишь вот этот код, в модуле ORM (orm/classes/Model/Auth/User.php).
PHP:
public function rules()
    {
        return array(
            'username' => array(
                array('not_empty'),
                array('max_length', array(':value', 32)),
                array(array($this, 'unique'), array('username', ':value')),
            ),
            'password' => array(
                array('not_empty'),
            ),
            'email' => array(
                array('not_empty'),
                array('email'),
                array(array($this, 'unique'), array('email', ':value')),
            ),
        );
    }
 

Здыхлик

Kohaner
Команда форума
Берешь модель classes/Model/User.php, копируешь в Application (убеждаешься, что User extends Auth_User). Модель пустая (заглушка), там переопределяешь метод rules(). Например, копируешь содержимое из Auth_User и удаляешь ненужные правила. Другой вариант (но обычно это если надо расширить правила) - дергаешь внутри него parent::rules() и добавляешь к возвращенному массиву еще правила.
 

betmenik

Новичок
Берешь модель classes/Model/User.php, копируешь в Application (убеждаешься, что User extends Auth_User). Модель пустая (заглушка), там переопределяешь метод rules(). Например, копируешь содержимое из Auth_User и удаляешь ненужные правила. Другой вариант (но обычно это если надо расширить правила) - дергаешь внутри него parent::rules() и добавляешь к возвращенному массиву еще правила.
Не совсем помогло... Ошибка внутренняя пропала, то есть, мое сообщение в случае ошибки перестало появляться. Но вот системная ошибка kohana появилась вот такая:
Database_Exception [ 1062 ]: Duplicate entry '[email protected]' for key 'uniq_email' [ INSERT INTO `users` (`email`, `username`, `password`) VALUES ('[email protected]', 'bet2', '3da4f40d7efb937c0eb5a9889bb5d9186df75c989b8ac4f899aabc8975566d20') ]

MODPATH\database\classes\Kohana\Database\MySQL.php [ 194 ]

189 {
190 // This benchmark is worthless
191 Profiler::delete($benchmark);
192 }
193
194 throw new Database_Exception(':error [ :query ]',
195 array(':error' => mysql_error($this->_connection), ':query' => $sql),
196 mysql_errno($this->_connection));
197 }
198
199 if (isset($benchmark))
 
Последнее редактирование:
Сверху