Обязательное поле отображает сообщение об ошибке в форме - PullRequest
1 голос
/ 19 июля 2011

У меня есть форма, которую мне нужно заполнить обязательные поля.Я знаю, как использовать приведенный ниже код, чтобы проверить, является ли поле пустым:

<?php
if  (!empty($_POST['client_name'])) {
echo '<p style="color:red;">'"Client Name is required!"'</p>';
}
?>

Мой вопрос: как мне отобразить сообщение об ошибке на странице формы, сохранив все данные, уже введенные вформа.Пример: я заполняю все 15 полей в форме, исключая обязательные поля.Когда я нажимаю кнопку «Отправить», если обязательное поле не заполнено, я хочу остаться на этой странице формы, не теряя при этом никакой информации, которую я помещаю в поля, и я хочу отобразить сообщение рядом с полем обязательного поля, говоря:"Это обязательное поле.

Я не уверен в коде, чтобы сделать это, или где его разместить. В форме или в скрипте, который выполняет форму?

Ответы [ 3 ]

2 голосов
/ 19 июля 2011

сначала используйте проверку JavaScript на стороне клиента, а затем проверку php на стороне сервера.

1 голос
/ 06 июля 2017

Почему вы используете! Empty, вы можете использовать empty для лучшего результата, например

<?php
if  (empty($_POST['client_name'])) {
echo '<p style="color:red;">'"Client Name is required!"'</p>';
}
?>

На самом деле вы должны сначала установить проверку HTML5, например

<input type="text" name="abc" required="">

Вы можете установить собственное сообщение об ошибкеобязательное поле, например

<input type="text" name="abc" required="" oninvalid="this.setCustomValidity('Please Select This')">

Затем вы можете использовать проверку JS или jQuery, а затем проверку на стороне сервера пользователя, например, PHP или ASP или другие.

Спасибо.

0 голосов
/ 19 июля 2011

Не зная структуры ваших страниц, сложно дать точный ответ, но вот общий процесс, который должен помочь:

  • Форма отправляется на процессор
  • Процессорпроверяет входные данные
  • , если входные данные хороши, процессор перенаправляет на следующую страницу
  • , если входные данные не годятся, процессор должен отправить текст ошибки и данные формы обратно в подпрограмму, которая создает / отображает форму.

ИМХО, процессор не должен echo ничего.Все отображения должны обрабатываться сценарием, который создает форму.

Без кодирования это лучший ответ, который я могу дать :-)

...