MV framework logo
  • Архитектура
    • Философия
    • Технологии
    • CMF
    • История версий
  • Админ панель
  • Поддержка
  • Обратная связь
  • Примеры кода
    • Новостная лента
    • Слайдер с баннерами
    • Список с фильтрацией
    • Форма с загрузкой файла
    • AJAX форма на jQuery
    • Вопросы и ответы
    • Каталог с товарами
    • Авторизация пользователя
    • Регистрация пользователя
    • Личный кабинет пользователя
Скачать Версия 2.7 от 06.06.2023
Документация
  • Архитектура
    • Философия
    • Технологии
    • CMF
    • История версий
  • Админ панель
  • Поддержка
  • Обратная связь
  • Примеры кода
    • Новостная лента
    • Слайдер с баннерами
    • Список с фильтрацией
    • Форма с загрузкой файла
    • AJAX форма на jQuery
    • Вопросы и ответы
    • Каталог с товарами
    • Авторизация пользователя
    • Регистрация пользователя
    • Личный кабинет пользователя
Начало работы
  • Установка и запуск
  • Структура папок
  • Запуск простого сайта
  • Предустановленные модели
  • SQLite начало работы
  • Системные настройки
  • Миграции
Модели (models)
  • Общие принципы моделей
  • Типы данных
  • Настройка модели
  • Простые модели
  • Внешние ключи
  • Деревья
  • Многие ко многим
  • Группа
  • Управление записями
  • Управление простыми моделями
  • Дополнительные возможности
Шаблоны (views) и маршрутизация (routes)
  • Общие принципы шаблонов
  • Объект класса Router
  • Объект MV
  • Index, default и 404 шаблоны
  • Создание нового шаблона
  • Вывод данных в шаблоне
  • Объект класса Record
  • Файлы и изображения
  • Дата и время
  • Редиректы
  • Отправка email
  • Специальные методы
Формы
  • Создание форм
  • Настройка полей формы
  • Правила проверки полей формы
  • Проверка полей формы
  • Работа с данными формы
  • Использование данных из моделей
  • Методы форм
SQL запросы
  • Конструктор запросов
  • Прямые запросы
  • Постраничная разбивка
  • Сортировка
  • Фильтрация
  • Загрузка из csv файлов
Сессии и безопасность
  • Работа с сессиями
  • AJAX
  • Кэширование
  • Безопасность
  • Отладка
Плагины
  • Общие принципы плагинов
  • Дополнения к административной панели
Документация
Начало работы
  • Установка и запуск
  • Структура папок
  • Запуск простого сайта
  • Предустановленные модели
  • SQLite начало работы
  • Системные настройки
  • Миграции
Модели (models)
  • Общие принципы моделей
  • Типы данных
  • Настройка модели
  • Простые модели
  • Внешние ключи
  • Деревья
  • Многие ко многим
  • Группа
  • Управление записями
  • Управление простыми моделями
  • Дополнительные возможности
Шаблоны (views) и маршрутизация (routes)
  • Общие принципы шаблонов
  • Объект класса Router
  • Объект MV
  • Index, default и 404 шаблоны
  • Создание нового шаблона
  • Вывод данных в шаблоне
  • Объект класса Record
  • Файлы и изображения
  • Дата и время
  • Редиректы
  • Отправка email
  • Специальные методы
Формы
  • Создание форм
  • Настройка полей формы
  • Правила проверки полей формы
  • Проверка полей формы
  • Работа с данными формы
  • Использование данных из моделей
  • Методы форм
SQL запросы
  • Конструктор запросов
  • Прямые запросы
  • Постраничная разбивка
  • Сортировка
  • Фильтрация
  • Загрузка из csv файлов
Сессии и безопасность
  • Работа с сессиями
  • AJAX
  • Кэширование
  • Безопасность
  • Отладка
Плагины
  • Общие принципы плагинов
  • Дополнения к административной панели
MV tracker

Проверка полей формы

<?
$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", "Описание деятельности не указано.");

Предыдущий раздел

Правила проверки полей формы

Следующий раздел

Работа с данными формы
MV tracker

© 2012-2023, MV framework team

English MV task tracker system Лицензия

Поделиться