laimas, ну если ТС нашел такой дебильный скрипт, значит там и такие вот дебильные проверки будут.
|
Цитата:
Цитата:
|
ТС, вот тут вроде похоже на правду https://gist.github.com/ajtroxell/6731408 хотя и гитхаб
|
Цитата:
|
Цитата:
|
Цитата:
|
Такие вещи все равно делаются через БД. Почта теряется, залипает в спаме, ходит как попало. А когда есть БД, то основную часть данных о полях можно получить прямо из свойств полей таблицы, здесь таблицы отзывов. Например если поле name not null и нет никакого default, то значит в форме оно будет reuired, а если есть default, то сразу пишем в value этого поля в форме, что в default внесено на этапе создания таблицы. Еще можно вычислять maxlength для текстовых полей. Для полей под числа можно узнать тип числа и допустимое количество знаков за запятой. Дофига чего в общем. Затем в эти же данные просто добавляются паттерны и по обстоятельствам дополнительные свойства и готов объект для рендера формы и для валидации одновременно.
|
Цитата:
|
Несешь бред, понос словесный о базе и прочей лабуде.
|
laimas, ты же вроде специалист по реляционным беде и должен знать, как получить инфу о таблице. Это можно сделать в том числе через information_schema, зацени
$q='select `table_name`,`column_name`,`data_type` as `dtype`, coalesce(`character_maximum_length`,`numeric_precision`) as `maxlength`, `numeric_scale` as `decimals`, `column_key`, (`is_nullable`="NO" && `column_default` is NULL) as `required`, `column_default` as `value`, `column_type` as `data` from `information_schema`.`columns` where `table_schema`="'.$this->db_name.'" and `table_name`="'.$table_name.'"'; Затем еще немного преобразования табличных типов данных в типы полей формы $sql_types=array( 'varchar|text|year|char|tinytext|mediumtext|longtext' => 'text', 'int|decimal|tinyint|smallint|mediumint|bigint|float|double|real' => 'number', 'enum|set' =>'select', 'timestamp' =>'datetime-local', 'bit|boolean|serial'=>'range' ); и конечно потребуется процедура и получаем заготовку с массой готовой инфы, которую уже не надо профтыкать в моделях. Узбагойся уже. |
Часовой пояс GMT +3, время: 07:53. |