Я создаю фреймворк, который будет проверять формы как на стороне клиента (javascript), так и на стороне сервера на основе спецификации требований к форме, написанной на json.Спецификация требований к форме HTML
Цель состоит в том, чтобы избавиться от логически эквивалентного кода на сервере и клиенте, чтобы сделать код более удобным для обслуживания, быстрее писать и менее ошибочным.
Формат спецификации может выглядеть примерно так:
{ '<field_name>' : ['<validation_function>', 'req', ['<requirement>', <param>], ...], ... }
(список требований упорядочено, так что пользователь может получить большинство основных сообщений об ошибках во-первых, «REQ» требование должно прийти первым, если он существует, и средство что поле обязательно для заполнения)
например)
{
'name' : ['string', 'req', ['min',6], ['max',150], ['match', /^[\sa-z0-9ÅÄÖåäö&]$/i], ['not_match', /^tmp_/]],
'email' : ['email', 'req'],
'email_confirm' : ['same_as', 'email'],
'password' : ['string', 'req', ['min', 6], ['max', 64], ['match', /^[a-z0-9\[email protected]#\$%^&*_+.]$/i] ],
}
кто-нибудь знает о подобной технологии? Я думаю, что система проверки правильности Rails решает проблему на неправильном уровне, потому что я обнаружил, что формы часто работают на нескольких моделях.
Да некоторые проверки могут быть сделаны только на стороне сервера. Но я только пытаюсь решить проблему с проверками, которые должны выполняться как на стороне клиента, так и на стороне сервера. Нет дублирования кода для проверки только на стороне сервера. – Peder
Очень хорошая идея. Я не могу дать вам хороший ответ на ваш вопрос, кроме как сказать, что ваша идея хорошая! – mojbro