Такие вещи все равно делаются через БД. Почта теряется, залипает в спаме, ходит как попало. А когда есть БД, то основную часть данных о полях можно получить прямо из свойств полей таблицы, здесь таблицы отзывов. Например если поле name not null и нет никакого default, то значит в форме оно будет reuired, а если есть default, то сразу пишем в value этого поля в форме, что в default внесено на этапе создания таблицы. Еще можно вычислять maxlength для текстовых полей. Для полей под числа можно узнать тип числа и допустимое количество знаков за запятой. Дофига чего в общем. Затем в эти же данные просто добавляются паттерны и по обстоятельствам дополнительные свойства и готов объект для рендера формы и для валидации одновременно.
|