@dindilin
Programming

Видимость полей в yii2?

Знатоки, подскажите, весь мозг сломал. Вот есть контроллер, в нем есть экшн с параметрами, а параметры такие:
Физическое лицо
Юридическое
Ип

И вот в зависимости от параметра должна показаться форма с нужными еам полями. А форма одна где перечислены все поля для трех разных вариантов. Часть полей обшая.
Как можно ревлизовать подобное?
На ум пока приходит только через сценарии, типа scenarios::fizik и там уже указать видимость полей и валидацию.
Может есть другие способы ?
  • Вопрос задан
  • 215 просмотров
Пригласить эксперта
Ответы на вопрос 3
bitver
@bitver
Такое, вроде, необходимо разделять по разным action, чтоб с контролем доступа не было морочек.

А на счет форм, то пойдите по пути стандартного шаблона - сделайте для каждой формы свою модель. Если сильно хочется общую часть обобщить, то пусть эти 3 модели наследуются от одной общей,( я б так не делал, но сильно зависит от количества "общего"). Профит в том, что так избежите кучки условных выражений, делая код более читабельным и легко редактируемым.
П.С. Не знаток, но что-то да знаю.
Ответ написан
Комментировать
kimono
@kimono
Web developer
Сценарии - самое то для этой цели. В форме можно делать условные комменты, вроде:
if ($model->scenario == $model::SCENARIO_FYSICAL){}

Либо создать несколько филд-сетов в разных файлах, и инклюдить их так же по условию.
Либо же, пользуясь теми же сценариями, рендерить разные формы в контроллере.
Ответ написан
Комментировать
vyachin
@vyachin
Ищу работу
сценарий скорее для внешнего окружения используется, например один сценарий будет для админа а другой для пользователя, а тут задача на порядок проще решается www.yiiframework.com/doc-2.0/yii-validators-valida...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы