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", "name", array("required" => true),
                array("Пол", "enum", "gender", array("values_list" => array("Мужской", "Женский"))),
                array("Email", "email", "email"),                
                array("Получать новости", "bool", "news_subscribe"),
                array("Дополнительная информация", "text", "about", array("help_text" => "Расскажите о себе"))
);

$form = new Form($fields);

//Вывод всех полей формы, по умолчанию выводится рядами таблицы
echo $form -> display();

//Вывод всех полей формы, в вертикальном виде в тэгах "div" 
echo $form -> displayVertical();

//Вывод выборочных полей формы в нужной последовательности
echo $form -> display(array("name", "about", "email"));

//Вывод html кода для отдельного поля формы (без названия)
echo $form -> displayFieldHtml("gender");

//Вывод формы с ошибками, прикрепленными к полям
echo $form -> setDisplayWithErrors() -> display();
?>

Добавление / удаление поля

$form = new Form($fields);

//Операции над полями выполняются до проверки и вывода на экран полей формы
$form -> addField(array("Номер телефона", "phone", "phone_number"));
$form -> removeField("news_subscribe");

echo $form -> display();

Изменение параметров полей

//Сделать поле обязательным для заполнения
$form -> setRequired("about");

//Сделать несколько полей обязательными для заполнения, значение "*" - для всех полей
$form -> setRequiredFields(array("email", "about"));

//Задать название поля
$form -> setCaption("email", "Электронная почта");

//Задать поясняющий текст к полю
$form -> setHelpText("news_subscribe", "Рассылка приходит не чаще раза в месяц");

//Задать дополнительные html параметры поля (атрибуты: id, class, title и пр.)
$form -> setHtmlParams("about", 'id="about-me" class="text-field" rows="12"');

//Дополнительные html параметры для нескольких полей
$form -> setHtmlParams(array("email", "name"), 'class="text-input"');

Дополнительные возможности

//Если значениями поля типа "enum" являются данные другой модели
(внешний ключ), то их можно фильтровать
$form -> filterValuesList("city", array("active" => 1, "order->asc" => "name"));

//Для поля типа "date" можно задавать отображение в виде 3 select тэгов
$form -> setDisplaySelects("date");

//Для поля типа "enum" можно задать отображение в виде radio кнопок
$form -> setDisplayRadio("gender", 2);

//Для поля типа "many_to_many" вывести значения в виде таблицы с чекбоксами
//(2 - количество колонок таблицы, может быть изменено)
$form -> setDisplayTable("interests", 2);

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

Создание форм

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

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

© 2012-2023, MV framework team

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

Поделиться