Комментарии

Создание XML-файла для разметки формы
( 1 Проголосовало )

В рассматриваемом здесь примере класс JForm используется для добавления двух полей в регистрационную форму. Это можно сделать одним из следующих способов:

  • загрузить поля из XML-файла;
  • загрузить поля из символьной строки, созданной, например, в исходном файле РНР подключаемого модуля.

Первый способ рекомендуется в большинстве случаев, поскольку он упрощает обращение с XML-файлом и его сопровождение. В листинге 5.9 приведен исходный код из XML-файла для разметки регистрационной формы.

Усовершенствованный подключаемый модуль для регистрации пользователей:

Листинг. Исходный код из файла form.xml

<?xral version="1.0" encoding="utf-8"?>
<form>
<fieldset name="tos" label="PLG_USER_MYREGISTRATION2_TERMS_OF_SERVICE" >
<field name="tos_agree" type="checkbox" default="0" filter»"bool" label="PLG_USER_MYREGISTRATION2_AGREE" required="true" value="l" />
<field name="old_enough" type="checkbox" default="0" filter="bool" label="PLG_USER_MYREGISTRATION2_AGE" required="true" value="l" />
</fieldset>
</form>

В этом XML-файле определены два поля, которые нам требуется ввести в форму регистрации пользователя. Соответствующий исходный код очень похож на код HTML, формируемый средствами класса JForm. Внешний элемент разметки в этом файле называется form и служит для создания элемента form разметки в коде HTML. Он содержит элемент fieldset разметки в коде HTML, который служит для группирования полей в форме. А внутри этого элемента находятся еще два элемента разметки field, определяющие нужные нам поля для регистрационной формы.

У каждого из этих полей имеются следующие атрибуты.

  • default: устанавливаемое по умолчанию значение, если флажок сброшен.
  • filter: фильтр, используемый для проверки данных, введенных в этом поле.
  • label: метка поля (как правило, переводится).
  • required: признак, указывающий классу JForm сделать это поле обязательным для заполнения.
  • value: значение, задаваемое в форме при установке флажка.

Атрибуты label и value являются стандартными для элемента разметки полей ввода в коде HTML. Атрибут filter вынуждает класс JForm отфильтровать поле ввода данных, используя одно из стандартных значений из класса JHtml. В данном случае должны отфильтровываться только логические значения true и false. И даже если пользователь изменит форму в своем браузере, чтобы передать другую информацию (например, злоумышленный код запроса SQL или сценария JavaScript), эта информация будет отфильтрована средствами класса JForm и преобразована в соответствующее логическое значение.


Понравился материал? Пригодилась информация? Плюсани в социалки!


 
Похожие новости
Добавить комментарий


Защитный код