Я пытаюсь переместить существующую (и работающую) клиентскую схему проверки jQuery в JSONSchema, чтобы позволить себе проверять произвольный JSON как на клиенте, так и на сервере.
Мое приложение - это, по сути, кучагигантские формы со множеством сложной логики, определяющей, какие вопросы следует задавать, основываясь на ответе пользователя на другие вопросы.Каждая форма имеет более 200 полей.
Сейчас я занимаюсь только проверкой на стороне клиента, и это хорошо работает примерно в 99% случаев.В некоторых случаях возникали проблемы с браузером, но ничего страшного.При этом я хочу выполнить проверку на стороне сервера (!).
После прочтения черновика JSONSchema и просмотра некоторых реализаций v3 мне кажется, что я могу потерять некоторые из более сложных правил, которые моиприложение стало зависеть от.Я хочу быть уверен, что я что-то не упустил, прежде чем двигаться слишком далеко в любом направлении.
Некоторые примеры:
"Если x == 10, то требуется y,в противном случае это необязательно "
10 может быть литеральным значением, перечислением и т. д., но мне нужно иметь возможность ссылаться на другое поле в той же структуре и гарантировать, что его значение не только существует, но и являетсяэквивалентно определенному типу / значению.
Я думаю, что это рассматривается в этой теме в списке JSONSchema .
"Если x = сегодняшняя дата, иy = завтрашняя дата, затем x> y "
Эта логика будет использоваться для обеспечения того, чтобы дата" с "предшествовала дате" до ".
Из того, что я вижу, нет ничего подобного, и единственный способ увидеть, как я это делаю, - передать в виде схемы только что обновленный кусок JSON.
Ближайшая вещь, которую я 'Установлено, что для удовлетворения вышеуказанных потребностей CERNY .
Если я лаю не на том дереве, пожалуйста, дайте мне знать.Я также рассмотрел запуск backbone.js как на клиенте, так и на сервере.
tl; dr;
Я хочу сохранить один набор правил проверки для большихи сложные формы и применять эти правила проверки к произвольным документам JSON как на стороне клиента, так и на стороне сервера.