#javascript #json #validation
#javascript #json #проверка
Вопрос:
Существует ли какая-либо библиотека или JavaScript для создания формы с проверкой с использованием данных JSON?
Например, если у меня есть JSON что-то вроде {firstname: Jhon, lastname: Doe, age:32}
и у меня есть форма ввода HTML во внешней системе с полями:
-
Имя
-
Фамилия
Когда посетитель вводит свое имя в форму, серверная часть проверяет проверку на основе данных JSON.
Спасибо за любые предложения.
Комментарии:
1. Вы можете использовать Joi для проверки своих объектов. Пожалуйста, взгляните сюда: github.com/hapijs/joi
2. Спасибо за предложение, проверю это
Ответ №1:
Используя React и node.js может быть более безопасным решением в будущем, поскольку оно стало отраслевым стандартом… вы смотрели на: https://www.npmjs.com/package/react-jsonschema-form ?
С точки зрения еженедельных загрузок это выглядит как довольно надежное хранилище и, похоже, хорошо подходит для вашего варианта использования (я могу попробовать это сам). Единственная загвоздка заключается в том, что для быстрого освоения мира React и nodejs требуется время. Я бы настоятельно рекомендовал это, хотя, если вы еще этого не сделали. Некоторые полезные ресурсы для начала включают:
Оттуда это может стать глубоким погружением, но я нахожу это забавным. Удачи!
Ответ №2:
-
Загрузите необходимый jQuery и underscore.js библиотеки в документе.
<script src="/path/to/jquery.min.js"></script> <script src="/path/to/underscore.min.js"></script>
-
Загрузите таблицу стилей Bootstrap, чтобы украсить сгенерированные поля формы.
<link rel="stylesheet"href="/path/to/bootstrap.css">
-
УКАЖИТЕ имя класса для формы
<form class="form">
-
Вызовите функцию для элемента form и определите поля формы в JSON
$('form').jsonForm({ "schema": { "name": { "title": "your title", "description": "Your description", "type": "your type", }, "enum": [ "male", "female", "alien" ] }});
-
Проверьте данные при отправке с помощью
onSubmit
обратного вызова.$('form').jsonForm({ onSubmit: function (errors, values) { if (errors) { // do something } else { // do something }});