Показать сообщение отдельно
  #6 (permalink)  
Старый 30.01.2020, 19:52
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от Katy93
как проверить поля не только на цифры, а допустим на имя или email.
Я не нашёл у вас проверку формы. Да, ваше регулярное выражение не учитывает, что есть имя «Фёдор», «Jürgen» и пр. Также не ясно, почему ваши сообщения об ошибке так далеко от проверяемого поля в разметке. (Это отменяет массу приятных вещей)

<!DOCTYPE html>
<html>
<head>
	<title>Form Validation</title>
	<style>
		.validable {
			border: 0 solid #888;
			border-bottom-width: 2px;
			padding: 0.5em;
			font: inherit;
 			outline: none;
		}
		.validable:not(:placeholder-shown):invalid {
			border-bottom-color: #f90a0a;
		}
		.validable:valid {
			border-bottom-color: #34f458;
		}
		.validable ~ .error {
			display: none;
		}
		.validable:not(:placeholder-shown):invalid ~ .error {
			display: block;
		}
		form td {
			vertical-align: top;
		}
	</style>
</head>
<body>
	<form method="POST" action="form.php">
	<table>
		<tr>
			<td>
				<input class="age validable" type="text" name="mass[age][]" placeholder="Возраст" pattern="\d{1,3}" required>
				<span class="error">Только цифры</span>
			</td>
			<td>
				<input class="name validable" type="text" name="mass[exp][]" placeholder="Имя" pattern="(?=\s*\S+)\D+" required>
				<span class="error">Только буквы</span>
			</td>
			<td>
				<input class="email validable" type="email" name="mass[gender][]" placeholder="Почта" required>
				<span class="error">Только email</span>
			</td>
		</tr>
	</table>
	<input type="submit" value="Отправить">
	</form>
</body>
</html>
Вы можете добавить динамически сколько угодно строк!

Последний раз редактировалось Malleys, 30.01.2020 в 19:59.
Ответить с цитированием