Обязательное поле для отображения сообщения об ошибке в форме

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

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

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

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


person Jason    schedule 19.07.2011    source источник


Ответы (3)


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

person rlemon    schedule 19.07.2011
comment
вот ссылка на хороший учебник по настройке js w3schools.com/js/js_form_validation. жерех - person rlemon; 19.07.2011

Почему вы используете !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 или другие.

Спасибо.

person Obaidul Haque    schedule 05.07.2017

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

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

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

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

person keithhatfield    schedule 19.07.2011