Разработка:moodleQuickForm
Содержание
- 1 Общие сведения
- 2 Внешний вид
- 3 Правила объявления формы
- 4 Описание некоторых стандартных методов
- 5 Описание всех элементов
- 6 Добавление дополнительных данных
- 7 Установка обязательных полей
- 8 Установка дополнительных полей
- 9 Установка проверки на стороне клиента или сервера
- 10 Установка зависимых полей
Общие сведения
Библиотека moodleQuickForm (она же moodleform) построена на основе библиотеки PEAR HTML_QuickForm. Описание работы всех функций moodleQuickForm следует искать именно по этой ссылке.
При помощи moodleQuickForm можно описать большинство стандартных форм. Эта библиотека значительно облегчает время и силы, потраченные на разработку формы.
Перечисление всего того, что доступно в moodleQuickForm заняло бы слишком много места, поэтому перечислим только те задачи, которые при помощи этой библиотеки решить нельзя:
- создать форму в виде таблицы, в которой более 2-х столбцов
- создать длинную горизонтальную форму
Внешний вид
Внешне все формы класса moodleform выглядят одинаково: это таблица из 2-х столбцов, и некоторого количества строк:
Правила объявления формы
Описание некоторых стандартных методов
Функция __construct($action, $customdata, $method, $target, $attributes)
Функция add_element
Функция add_group
Функция add_rule
Функция set_default
Описание всех элементов
Заголовок формы
Этот заголовок будет говорить об общем содержании данных в форме. Также он используется в случае, когда вам нужно разбить форму на несколько частей.
Код:
$mform->addElement('header','имя_html-элемента', 'Текст заголовка');
Текстовое пояснение
Поле select
Элемент text
Элемент radio
Элемент checkbox
Элемент textarea
Элемент hidden
Элемент dateselector
Добавление дополнительных данных
Установка обязательных полей
Установка дополнительных полей
Установка проверки на стороне клиента или сервера
По умолчанию все данные из формы подлежат проверке на стороне сервера. Существует возможность добавить проверку на стороне клиента. Не забывайте при этом, что эти данные нужно потом все равно еще раз проверить на стороне сервера, так как всегда существует возможность послать данные в обход формы.