Проверка полей формы
<? $fields = array(array("Организация", "char", "company", array("required" => true)), array("Количество сотрудников", "int", "staff"), array("Форма собственности", "enum", "type", array("values_list" => array("ИП", "ООО", "ЗАО", "OAO"))), array("Email", "email", "email", array("required" => true)), array("Пароль для входа", "password", "password",array("required" => true, "min_length" => 10, "letters_required" => true)), array("Описание деятельности, "text", "about", array("required" => true)) ); $form = new Form($fields); ?>
Проверка всех полей формы
Перед началом проверки данных необходимо занести в форму значения полей, используя метод "getDataFromArray($source)" или "getDataFromPost()". Поля формы проверяются методом "validate()", который просматривает все поля и проверят их на соответствие требованиям (необходимость заполнения, целое число, формат электронной почты и пр.). Если в процессе проверки обнаружены ошибки, то они сохраняются в объекте формы.
if(!empty($_POST)) { $form -> getDataFromPost() -> validate(); //Получение значений полей и их проверка (всех полей формы) if(!$form -> isValid()) //Если форма содержит ошибки { ... } else { //Ошибок нет, выполняем нужные действия //(создание/редактирование записи, отправка сообщения и т.д.) ... } } //Далее в html части шаблоны в нужном месте выводим список ошибок echo $form -> displayErrors(); //Также можно вывести ошибки рядом с полями echo $form -> setDisplayWithErrors() -> display();
Проверка выборочных полей формы
Часто бывает ситуация, когда нужно проверить только некоторые поля формы, для этого передается массив названий полей для проверки
if(!empty($_POST)) { $form -> getDataFromPost() -> validate(array("company", "email")); }
Дополнительная проверка поля и добавление ошибки
$value = $form -> getValue("about"); if(strlen($value) < 100) { $form -> addError("Пожалуйста введите более подробное описание деятельности."); } //Если ошибки формы выводятся рядом с полями //(после вызова setDisplayWithErrors()), //то дополнительную ошибку надо привязать к конкретному полю, //передав название поля вторым параметром $form -> addError("Пожалуйста введите более подробное описание деятельности.", "about");
Самостоятельное занесение значения в поле
$form -> setValue("about", "Описание деятельности не указано.");
Предыдущий раздел
Правила проверки полей формы