Как сделать валидацию формы с применением JSON?

В качестве учебного проекта делаю валидацию формы. В HTML задал инпуты, которым присвоил тип, имя и поле placeholder. в JS файле на входе по идее должен быть json с правилами для какого инпута какая валидация. на просторах интернета видел много туториалов с примерами валидации, но там либо применение jqueryValidation, либо schema, где уже есть готовые правила и т.д. на сколько я понимаю, это нечто отличающееся от JSON. там валидация представлена примерно так:
ИМЯ_ПОЛЯ: функция валидации 1, функция валидации 2 и т.д.
но ведь у json нет функции, т.е. в него нельзя передать функцию. Это можно сделать с обычным объектом Js. как мне воспользоваться JSON для написания валидации?
<!DOCTYPE html>
<html>
<head>
	<title></title>
	<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
	<div id="container">
		<h3 class="form-title">Заполните форму</h3>

		<form id="register-form">
			<div id="form-group">
				<input type="number" placeholder="Целое число" name="form-integer" id="form-input">
			</div>

			<div id="form-group">
				<input type="number" placeholder="Дробное число" name="form-double" id="form-input">
			</div>

			<div id="form-group">
				<input type="number" placeholder="Число n-ой длины" name="form-limit-integer" id="form-input">
			</div>

			<div id="form-group">
				<input type="text" placeholder="Латинские символы" name="form-latin-symbol" id="form-input">
			</div>

			<div id="form-group">
				<input type="tel" placeholder="Номер телефона" name="form-tel" id="form-input">
			</div>

			<div id="form-group">
				<input type="email" placeholder="Адрес электронной почты" name="form-email" id="form-input">
			</div>

			<div id="form-group">
				<input type="password" placeholder="Пароль" name="form-password" id="form-input">
			</div>

			<div id="form-group">
				<input type="datetime" placeholder="Введите n-ую дату" name="form-datetime" id="form-input">
			</div>

			<div id="form-group">
				<input type="url" placeholder="Введите веб-адрес" name="form-url" id="form-input">
			</div>

			<div id="form-group">
				<button type="submit" id="form-btn">Отправить</button> 
			</div>
		</form>
	</div>

	<script src="script.js"></script>

</body>
</html>
  • Вопрос задан
  • 377 просмотров
Решения вопроса 1
lastuniverse
@lastuniverse
Всегда вокруг да около IT тем
Для этих целей существует json-schema.
Описание дано в спецификации.

Ознакомится можно прочитав ряд статей:


погуглив json schema validator можно найти очень много обзоров, гайдов, отзывов и другой полезной информации по Вашему вопросу
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы