Можно ли в Kohana отключить правило в модели для определенного экшена? Собсно сабж, Yii такое позволяет, реализовано ли это в Kohana?

21 Авг 2019 в 07:09
231 +1
0
Ответы
1

В Kohana нет встроенной функциональности для отключения правила в модели для определенного действия. Однако, вы можете достичь подобного эффекта, добавив условие в вашем методе модели, которое проверяет нужно ли применять правило или нет.

Например, вместо того, чтобы отключить правило, вы можете добавить условие в методе вашей модели, чтобы применять или игнорировать правило в зависимости от действия:

class Model_User extends Model {
protected $_rules = array(
'username' => array(
array('not_empty'),
array('min_length', array(':value', 4)),
array('max_length', array(':value', 20)),
)
);
public function save_user($data) {
if ($this->action == 'create') {
// Применяем правило только при создании пользователя
$this->_rules['username'][] = array('unique', array(':model', ':field', $data['username']));
}
// Применяем все правила для username
$this->check($data);
}
}

В приведенном примере, правило 'unique' применяется только при создании пользователя (метод 'create_user'), но не при других действиях. Вы можете адаптировать этот подход для ваших нужд и сценариев использования в Kohana.

20 Апр в 13:06
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 706 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир