Возник вопрос по работе с формами на стороне сервера (koa/express). Требуется програмный механизм создания, валидации, рендеринга формы. Приведу пример из php. Там есть такая штука, как Zend_Form, которая все это умеет. Выглядит как-то так
$form = $this->getBaseForm();
$form
->addElement('text', 'title',
array(
'label' => 'Название',
'required' => true
)
)
->addElement('textarea', 'text',
array(
'label' => 'Текст',
'cols' => 65,
'rows' => 2
)
)->addElement('file', 'image',
array(
'label' => 'Изображение 960x340'
)
)
->addElement('text', 'link',
array(
'label' => 'Ссылка для перехода'
)
)->addElement('submit', 'submit',
array(
'label' => 'Сохранить'
)
);
в шаблоне Код:
{$form} |
nerv_,
Сам не использовал, но выглядит симпатично https://github.com/caolan/forms |
destus, спасибо, суть ты уловил верно.
Цитата:
Цитата:
Скажу так: первый, кто запилит подобный пакет, будет молодец и соберет мнгого лайков на гитхабе. --- UPD В зенде на мой взгляд достаточно хорошее продуманное апи, можно писать на его основе https://framework.zend.com/manual/1....uickstart.html По сути требуется объединить ряд пакетов: - создание (писать руками) - парсинга (formidable?) (не уверен, что этот пункт нужен) - валидации (использовать сторонние пакеты, предусмотреть асинхронную валидацию) - рендеринга (добавить возможность использовать движка шаблонов) в одно удобное апи |
nerv_
1) Возьми json-схему, на стороне сервера валидируй ею данные, которые пришли, на стороне клиента -- возьми генератор формы по ней (тысячи их, и под ангуляр, и под реакт, и под jquery, и вообще под что угодно). 2) Совмести. 3) ?????? 4) PROFIT! |
Цитата:
2) не вижу тысяч :) UPD После долгих поисков по npm нашел несколько: https://www.npmjs.com/package/jsonschema2html https://www.npmjs.com/package/jsonschema2form-nested https://www.npmjs.com/package/json-editor https://www.npmjs.com/package/iso-form https://github.com/brutusin/json-forms |
Цитата:
Цитата:
|
Цитата:
Цитата:
alert(5/1120); у меня, кстати, написано 170k результатов |
Цитата:
|
Цитата:
|
Цитата:
|
| Часовой пояс GMT +3, время: 19:41. |