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

Проверенные VDS на SSD в Европе от $4 и России: Датацентр №1 от 199руб

Тема в разделе "Kohana", создана пользователем betmenik, 12 янв 2018.

  1. betmenik

    betmenik Новичок

    Сообщения:
    2
    Ваш город:
    Челябинск
    Address:
    Chelyabinsk, Russia
    Country:
    Location on Map:
    Здравствуйте!
    Помогите пожалуйста разобраться с задачей, все дело в регистрации на фреймворке 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')),
                ),
            );
        }
     
  2. Здыхлик

    Здыхлик Kohaner Команда форума

    Сообщения:
    242
    Ваш город:
    Moscow, Russia
    Address:
    Moscow, Russia
    Country:
    Location on Map:
    Берешь модель classes/Model/User.php, копируешь в Application (убеждаешься, что User extends Auth_User). Модель пустая (заглушка), там переопределяешь метод rules(). Например, копируешь содержимое из Auth_User и удаляешь ненужные правила. Другой вариант (но обычно это если надо расширить правила) - дергаешь внутри него parent::rules() и добавляешь к возвращенному массиву еще правила.
     
  3. betmenik

    betmenik Новичок

    Сообщения:
    2
    Ваш город:
    Челябинск
    Address:
    Chelyabinsk, Russia
    Country:
    Location on Map:
    Не совсем помогло... Ошибка внутренняя пропала, то есть, мое сообщение в случае ошибки перестало появляться. Но вот системная ошибка kohana появилась вот такая:
    Database_Exception [ 1062 ]: Duplicate entry 'bet@mail.ru' for key 'uniq_email' [ INSERT INTO `users` (`email`, `username`, `password`) VALUES ('bet@mail.ru', '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))
     
    Последнее редактирование: 12 янв 2018
  4. Здыхлик

    Здыхлик Kohaner Команда форума

    Сообщения:
    242
    Ваш город:
    Moscow, Russia
    Address:
    Moscow, Russia
    Country:
    Location on Map:
    1. Читай текст ошибки.
    2. Если непонятно - гугли.