Возник вопрос по работе с формами на стороне сервера (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, время: 20:31. |