Как проверить, заполнены ли обязательные поля в html-форме? - PullRequest
1 голос
/ 23 декабря 2008

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

Ответы [ 4 ]

2 голосов
/ 23 декабря 2008

Пройдите проверку в части вашего 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;">
}
1 голос
/ 23 декабря 2008

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

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

0 голосов
/ 29 декабря 2008

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

0 голосов
/ 23 декабря 2008

Что касается 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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...