Модель в которой не нужна валидация

Предварительное обсуждение найденных ошибок перед отправкой их авторам фреймворка, а также внесение новых предложений.
Ответить
Аватара пользователя
maleks
Сообщения: 1985
Зарегистрирован: 2012.12.26, 12:56

Модель в которой не нужна валидация

Сообщение maleks »

Представьте модель, где не нужно валидировать данные и где я не определяю метод rules()
В таком случае реализация по умолчанию
$model->scenarios() вернет пустой массив для default сценария:

Код: Выделить всё

array (size=1)
  'default' => 
    array (size=0)
      empty 
Вместо того чтобы для него перечислить все доступные атрибуты (->attributes()) как безопасные. Сейчас приходится - дополнительно переопределять метод scenarios() чтобы наполнило модель после $model->attributes = $_POST
Yii2 universal module sceleton - for basic and advanced templates
lynicidn
Сообщения: 2222
Зарегистрирован: 2014.05.24, 15:12

Re: Модель в которой не нужна валидация

Сообщение lynicidn »

модель нужна для валидации, сценарии тоже.

создавайтк свой компонент
Аватара пользователя
maleks
Сообщения: 1985
Зарегистрирован: 2012.12.26, 12:56

Re: Модель в которой не нужна валидация

Сообщение maleks »

lynicidn писал(а):модель нужна для валидации, сценарии тоже.

создавайтк свой компонент
Причем тут компонент? :)
Данная модель собирает данные из формы, но не суть.
Yii2 universal module sceleton - for basic and advanced templates
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Модель в которой не нужна валидация

Сообщение samdark »

Все данные необязательны?
Аватара пользователя
maleks
Сообщения: 1985
Зарегистрирован: 2012.12.26, 12:56

Re: Модель в которой не нужна валидация

Сообщение maleks »

да, необязательны.
Yii2 universal module sceleton - for basic and advanced templates
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Модель в которой не нужна валидация

Сообщение samdark »

И ничего страшного, если в поле будет 5000 символов?
Аватара пользователя
maleks
Сообщения: 1985
Зарегистрирован: 2012.12.26, 12:56

Re: Модель в которой не нужна валидация

Сообщение maleks »

Sam Dark писал(а):И ничего страшного, если в поле будет 5000 символов?
ну в данном случае там поле типа text. Но вообще мы как то в сторону от вопроса ушли. :)
Yii2 universal module sceleton - for basic and advanced templates
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Модель в которой не нужна валидация

Сообщение samdark »

Я про то, что форма совсем-совсем без валидации — штука редкая. Если оно есть и надо, форма, скорее всего, простая аля фидбек. Так как принимается что угодно, есть вопрос: а нафига там вообще модель?
Аватара пользователя
maleks
Сообщения: 1985
Зарегистрирован: 2012.12.26, 12:56

Re: Модель в которой не нужна валидация

Сообщение maleks »

Модель мне нужна, чтобы через Activeform собрать данные, преобразовать их в нужный вид(сериализовать и т.д.) и сохранить уже в нужном виде в базе.
Данная модель не привязана к понятию одной строчки в таблице, а к множеству строчек, так что AR не причем.
Типа

Код: Выделить всё

Страница ТипДанных Данные
1       метаdescription   ...
1       title                    ... 
И Модель представляет все из этой таблицы, относящееся к Странице определенного номера.

В результате я смогу написать:

Код: Выделить всё

$model = new Page(['id' => 1])
$model->metadescription = '';
$model->title= '';
$model->save(); 
и оно все раскинет куда надо. Также и загрузка.
Yii2 universal module sceleton - for basic and advanced templates
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Модель в которой не нужна валидация

Сообщение samdark »

Поля у модели фиксированные или можно на ходу добавлять?
Ответить