01 - Стандартные Поля формы
Введение
Joomla предоставляет широкий выбор типов полей, которые вы можете использовать в своих формах. Исходный код для этих типов полей находится в каталоге libraries/src/Form/Field, и почти все они описаны в Joomla standard form fields . Чтобы использовать один из них в своей форме, вы просто устанавливаете его как type
, как в следующем примере:
<?xml version="1.0" encoding="utf-8"?> <form> <field name="message" type="text" /> </form>
Подробные описания стандартных типов полей формы также включают атрибуты, которые вы можете связать с каждым типом полей формы; например, вы можете найти общий набор атрибутов, связанных с обычными полями ввода текста, в тип текстового поля.
Если вы посмотрите на список стандартных типов файлов форм, то увидите, что они делятся на несколько разных категорий:
- некоторые относятся к типам полей, которые напрямую соотносятся с HTML-типами элементов ввода (например
color
,checkbox
,number
,tel
). Есть примерыtype=text
иtype=email
сформируйте поля в компоненте-образце. - существует несколько типов полей списка (
list
иgroupedlist
) которые сопоставляются с html<select>
элементы - некоторые относятся к объектам, специфичным для Joomla (например, категория, редактор, тег), которые используются в формах Joomla для захвата этих типов объектов.
- в
sql
type позволяет вам ввести SQL-запрос для определения параметров, доступных в HTML<select>
элемент - в
subform
тип предоставляет возможность включать "подчиненную форму", состоящую из группы полей, обычно определенных в отдельном XML-файле. Эта группа элементов может повторяться. Приведен примерsubform
в компоненте образца
Атрибуты
Многие атрибуты полей в XML-файле определения формы напрямую соответствуют атрибутам полей HTML и не требуют каких-либо дополнительных пояснений. Приведенные ниже описания относятся к атрибутам, значение которых может быть не совсем понятным.
validate - используется для определения применяемой проверки на стороне сервера; смотрите Раздел о проверке на стороне сервера
подсказка - сопоставляется с атрибутом HTML - заполнителя
class - сопоставляется с атрибутом HTML class поля. Используется для определения проверки на стороне клиента, которая должна применяться, в дополнение к обычному использованию CSS
showon - определяет, отображается ли поле в форме, в зависимости от значения другого поля. Например,
<field name="radiofield" type="radio" default="1" > <option value="1">No showon</option> <option value="2">This must be selected for showon field</option> </field> <field name="textfield" type="text" showon="radiofield:2"/>
Текстовое поле отображается, только если для поля радио установлено значение 2. Условие может включать операторов. [AND]
или [OR]
, как показано в примере кода компонента, доступном для загрузки. Вы также можете использовать
showon="radiofield!:2"
- отображается, если значениеradiofield
не равно 2showon="somefield!:"
- показано , еслиsomefield
имеет значение, т. е. Оно не пустое / null.
value - определяет значение поля по умолчанию и отображается в поле как HTML-значение, если только loadFormData
в результате обратного вызова устанавливается значение этого поля. Так, например, если форма повторно представляется из-за того, что поле содержит недопустимую запись, то любое предыдущее значение поля, введенное пользователем, будет установлено как значение поля HTML, а не то, что определено в value=
атрибут формы XML-файла.
pattern - это регулярное выражение, которое используется при проверке на стороне клиента.
description - до Joomla 4 это было отображено во всплывающей подсказке. Начиная с Joomla 4, это отображается как отдельное поле, которое в серверной части администратора становится видимым / скрытым с помощью кнопки переключения встроенной справки.