Есть форма, в которой пользователь, например, рассказывает о своих домашних питомцах (например, кошках).
Пример:
Введите описание
Введите количество.
После выбора количества появляется N подформ (одинаковых), где пользователь заполняет одинаковыю информацию, например:
Кличка
Порода
Цвет
Вес
После того, как всё заполнено, есть кнопка "Add photo" которую он может нажимать сколько угодно раз и добавлять фотки.
Вопрос, как правильно создать наследника CFormModel для такого случая и как это правильно выводить. Насколько я понимаю, view с подформой будет подгружаться AJAX-ом и выводиться, а вот что делать именно с PHP, который будет это всё обрабатывать (валидировать, сохранять и т.д), я не сильно понимаю).
Или, еще возможен такой вариант: пользователь не выбирает количество, а просто жмёт кнопку "Add pet" сколько угодно раз, после чего ему отображается подформа. Но, опять же, сохраняться это всё должно в одном месте, а делать форму вручную, без использования CFormModel, я считаю не очень хорошим выбором.
Почитал о Tabular Input в Yii, но не совсем понял как это использовать.
Модель формы разбить на 2е части, 1ая статическая часть, 2ая динамическая часть после отправки, проверяешь отдельно эти части. Если нужен пример на ум приходит yii user extension, там таким образом сделаны динамические поля пользователя
Ну, т.е сделать что то вроде BaseForm extends CFormModel {} и CatForm extends CFormModel{} и делать в контроллере BaseForm->validate() и foreach(CatForm[] as $form) { $form->validate(); } ?