Главная страница   /   14.3. Отключение валидации входных данных (Руководство по HTML5

Руководство по HTML5

Руководство по HTML5

Адам Фриман

14.3. Отключение валидации входных данных

Есть моменты, когда нам нужно, чтобы пользователь мог отправить форму без проверки содержимого. Вот хороший пример этого: пользователю необходимо сохранить часть проделанной работы с формой. То есть мы хотим, чтобы пользователь смог сохранить то, что он уже ввел, чтобы позже возобновить процесс. Ведь это не совсем приятный момент для пользователя, что все ошибки должны быть исправлены прежде, чем может быть сохранен прогресс.

Можно отправить форму без валидации, если применить атрибут novalidate элемента form или атрибут formnovalidate к типам элементов button и input, которые могут отправлять формы. В листинге 14-10 показано, как можно отключить валидацию формы.

Листинг 14-10: Отключение валидации входных данных
<!DOCTYPE HTML>
<html>
<head>
	<title>Example</title>
	<meta name="author" content="Adam Freeman" />
	<meta name="description" content="A simple example" />
	<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
</head>
<body>
	<form method="post" action="http://titan:8080/form">
		<input type="hidden" name="recordID" value="1234" />
		<p>
			<label for="name">
				Name:
				<input type="text" id="name" name="name" pattern="^.* .*$" />
			</label>
		</p>
		<p>
			<label for="password">
				Password:
				<input type="password"
					placeholder="Min 6 characters" id="password" name="password" />
			</label>
		</p>
		<p>
			<label for="email">
				Email:
				<input type="email" placeholder="user@mydomain.com" required
					pattern=".*@mydomain.com$" id="email" name="email" />
			</label>
		</p>
		<input type="submit" value="Submit" />
		<input type="submit" value="Save" formnovalidate />
	</form>
</body>
</html>

В этом примере я добавил в HTML документ элемент input, который будет отправлять форму без проверки, что позволит пользователю сохранять прогресс (при условии, конечно, что соответствующая функция реализована на сервере, который будет принимать значения от браузера без применения дальнейшей валидации).