
14.08.2016, 14:19
|
 |
junior
|
|
Регистрация: 29.11.2011
Сообщений: 3,924
|
|
Возник вопрос по работе с формами на стороне сервера (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' => 'Сохранить'
)
);
в шаблоне
Есть какие-нибудь подобные модули для koa/express? Можно отдельные, но, желательно, чтобы они хорошо интегрировались между собой
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
|
|

14.08.2016, 16:27
|
 |
junior
|
|
Регистрация: 29.11.2011
Сообщений: 3,924
|
|
destus, спасибо, суть ты уловил верно.
Я бы не сказал, что это выглядит симпатично. Об этом даже сам автор пишет:
Цитата:
|
This code is still in its infancy
|
но, похоже, альтернатив нет и это грустно
Скажу так: первый, кто запилит подобный пакет, будет молодец и соберет мнгого лайков на гитхабе.
---
UPD
В зенде на мой взгляд достаточно хорошее продуманное апи, можно писать на его основе https://framework.zend.com/manual/1....uickstart.html
По сути требуется объединить ряд пакетов:
- создание (писать руками)
- парсинга (formidable?) (не уверен, что этот пункт нужен)
- валидации (использовать сторонние пакеты, предусмотреть асинхронную валидацию)
- рендеринга (добавить возможность использовать движка шаблонов)
в одно удобное апи
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Последний раз редактировалось nerv_, 14.08.2016 в 16:45.
|
|

15.08.2016, 16:28
|
 |
Модератор
|
|
Регистрация: 27.04.2010
Сообщений: 3,417
|
|
nerv_
1) Возьми json-схему, на стороне сервера валидируй ею данные, которые пришли, на стороне клиента -- возьми генератор формы по ней (тысячи их, и под ангуляр, и под реакт, и под jquery, и вообще под что угодно).
2) Совмести.
3) ??????
4) PROFIT!
|
|

15.08.2016, 22:26
|
 |
junior
|
|
Регистрация: 29.11.2011
Сообщений: 3,924
|
|
Сообщение от trikadin
|
1) Возьми json-схему, на стороне сервера валидируй ею данные, которые пришли, на стороне клиента -- возьми генератор формы по ней (тысячи их, и под ангуляр, и под реакт, и под jquery, и вообще под что угодно).
|
1) я тебе говорю, что мне нужно разметку на сервере генерировать
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
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Последний раз редактировалось nerv_, 16.08.2016 в 18:48.
|
|

15.08.2016, 23:09
|
 |
Модератор
|
|
Регистрация: 27.04.2010
Сообщений: 3,417
|
|
Сообщение от nerv_
|
я тебе говорю, что мне нужно разметку на сервере генерировать
|
Т. е. клиентской логики у тебя там нет вообще? Никак данные на клиенте не валидируешь и никакие кастомные поля ввода не добавляешь?
Сообщение от nerv_
|
не вижу тысяч
|
112 тыс. результатов 
|
|

16.08.2016, 18:47
|
 |
junior
|
|
Регистрация: 29.11.2011
Сообщений: 3,924
|
|
Сообщение от trikadin
|
Т. е. клиентской логики у тебя там нет вообще? Никак данные на клиенте не валидируешь и никакие кастомные поля ввода не добавляешь?
|
В данном случае практически нет
Сообщение от trikadin
|
112 тыс. результатов
|
из которых 5 полезных, что составляет
alert(5/1120);
у меня, кстати, написано 170k результатов
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
|
|

16.08.2016, 23:32
|
 |
Модератор
|
|
Регистрация: 27.04.2010
Сообщений: 3,417
|
|
Сообщение от nerv_
|
В данном случае практически нет
|
Сделай серверную рендерилку форм по JSON-схеме на Snakeskin  Сообщество тебе спасибо скажет.
|
|

17.08.2016, 00:11
|
 |
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Цитата:
|
Сделай серверную рендерилку форм по JSON-схеме на Snakeskin
|
Дык, ты же вроде писал, что у себя в проекте уже такое написал, не?)
|
|

17.08.2016, 02:07
|
 |
Модератор
|
|
Регистрация: 27.04.2010
Сообщений: 3,417
|
|
Сообщение от kobezzza
|
Дык, ты же вроде писал, что у себя в проекте уже такое написал, не?)
|
У меня на Vue, сорян) И дальше прототипа оно так и не ушло...
|
|
|
|