Как проверить, заполнены ли обязательные поля в html-форме?

У меня есть страница отправки на php с формой html, которая указывает на ту же страницу. Я хотел бы иметь возможность проверить, не заполнены ли обязательные поля в форме, чтобы я мог проинформировать пользователя. Я хотел бы знать, как это сделать с помощью php и javascript. Однако я полагаю, что это обычная проблема, поэтому приветствуются любые другие ответы.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
0
5 475
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Ответ принят как подходящий

Сделайте проверку в публикации части вашего php

    if (isset($_POST['save']))
    {
            $fields=array();
            $fields['Nimi']   = $_POST['name'];
            $fields['Kool'] = $_POST['school'];
            $fields['Aadress'] = $_POST['address'];
            $fields['Telefon'] = $_POST['phone'];
            $fields['Email'] = $_POST['email'];

            foreach ($fields as $key => $val)
            {   if (trim($val)=='')
                {   $errmsg=$key." is not filled!";
                    break;
                }
            }
    }

if ($errmsg == '')
{ //do your saving here
  exit();
}

if (!isset($_POST['save']) || $errmsg != '')
{ //show your form here
 // and make it to return to the same page on submit
 //<input name = "save" type = "submit" value = "Save" onclick = "return true;">
}

Можно ли также выполнить foreach ($ _ POST as $ k => $ v)?

bozdoz 26.07.2011 16:10

Что касается JS, вы должны проверить его перед отправкой. Обычно это включает привязку некоторой функции проверки к триггеру события onsubmit формы, и эта функция проверки будет состоять из некоторых тестов для каждого интересующего вас поля.

Большинство JS-библиотек имеют реализации проверки, которые сделают большую часть работы за вас, что звучит так, как будто это может быть хорошей идеей для вас. Поиск в Google "проверки на стороне клиента" даст бесконечные результаты, но это (я не зависящий от библиотеки, читайте и выбирайте сами) должно помочь вам начать работу *:

http://blog.jquery.com/2007/07/04/about-client-side-form-validation-and-frameworks/

http://tetlaw.id.au/view/blog/really-easy-field-validation-with-prototype/

http://dojotoolkit.org/book/dojo-book-0-4/part-4-more-widgets/forms/validation

* это учит вас ловить рыбу

Для дополнительной благодарности, как только вы узнаете, как это сделать на PHP и JavaScript из ответов Riho и annakata, создайте способ определения ограничения поля в единой форме, которая может быть отображена как JavaScript для проверки на стороне клиента и запущена на сервер.

Поскольку вам нужны и то, и другое (клиентская для удобства пользователя, серверная, потому что на данный момент мы уже не доверяем клиенту), кажется вполне приличной идеей поддерживать и то, и другое из единой инфраструктуры.

Библиотека LiveValidation вам очень поможет: http://www.livevalidation.com/

Другие вопросы по теме