Form
实现 CurrentUserInterfaceJoomla 平台的表单类。
此类实现了一个强大的 API,用于构建、填充、过滤和验证表单。它使用 XML 定义来构建表单字段,并使用各种字段和规则类来渲染和验证表单。
链接 | |
---|---|
自版本 |
1.7.0 |
包 |
Joomla CMS |
方法
__construct
实例化表单对象的方法。
__construct( name, mixed||string|int options = []) :
自版本 |
1.7.0 |
---|
参数
- 名称
string
表单的名称。- 选项
array<string|int, mixed>
表单选项的数组。
返回值
混合类型
addFieldPath
{@link FormHelper::addFieldPath()} 的代理。
addFieldPath(string|string[] new = null) : string||string|int
自版本 |
1.7.0 |
---|
参数
- 新建
string|array<string|int, string>
要添加的路径或路径数组。
返回值
array<string|int, string>
已添加的路径列表。
addFilterPath
FormHelper::addFilterPath() 的代理。
addFilterPath(string|string[] new = null) : string||string|int
参见 | FormHelper::addFilterPath() |
---|---|
自版本 |
4.0.0 |
参数
- 新建
string|array<string|int, string>
要添加的路径或路径数组。
返回值
array<string|int, string>
已添加的路径列表。
addFormPath
FormHelper::addFormPath() 的代理。
addFormPath(string|string[] new = null) : string||string|int
参见 | FormHelper::addFormPath() |
---|---|
自版本 |
1.7.0 |
参数
- 新建
string|array<string|int, string>
要添加的路径或路径数组。
返回值
array<string|int, string>
已添加的路径列表。
addNode
将一个新的子 SimpleXMLElement 节点添加到源中。
addNode(\SimpleXMLElement source, \SimpleXMLElement new) :
自版本 |
1.7.0 |
---|
参数
- 源
SimpleXMLElement
要追加的源元素。- 新建
SimpleXMLElement
要追加的新元素。
返回值
空
addRulePath
FormHelper::addRulePath() 的代理。
addRulePath(string|string[] new = null) : string||string|int
参见 | FormHelper::addRulePath() |
---|---|
自版本 |
1.7.0 |
参数
- 新建
string|array<string|int, string>
要添加的路径或路径数组。
返回值
array<string|int, string>
已添加的路径列表。
bind
将数据绑定到表单的方法。
bind( data) :
自版本 |
1.7.0 |
---|
参数
- 数据
mixed
要绑定到表单的数据数组或对象。
返回值
bool
成功时为真。
bindLevel
将数据绑定到组级别的表单的方法。
bindLevel( group, data) :
自版本 |
1.7.0 |
---|
参数
- 组
string
要绑定数据的点分隔表单组路径。- 数据
mixed
要绑定到组级别表单的数据数组或对象。
返回值
空
filter
过滤表单数据的方法。
filter(mixed||string|int data, group = null) :
自版本 |
4.0.0 |
---|
参数
- 数据
array<string|int, mixed>
要过滤的字段值的数组。- 组
string
要过滤字段的点分隔表单组路径。
返回值
mixed
数组或假。
findField
获取表示为 XML 元素对象表单字段的方法。
findField( name, group = null) : \SimpleXMLElement|bool
自版本 |
1.7.0 |
---|
参数
- 名称
string
表单字段的名称。- 组
string
要查找字段的可选点分隔表单组路径。
返回值
SimpleXMLElement|bool
字段的 XML 元素对象或错误时的布尔值假。
findFieldsByFieldset
获取表单 XML 文档中指定名称字段集中的一组 <field>
元素的方法。
findFieldsByFieldset( name) : \SimpleXMLElement[]|bool
自版本 |
1.7.0 |
---|
参数
- 名称
string
字段集的名称。
返回值
array<string|int, SimpleXMLElement>|bool
错误时的布尔值假或 SimpleXMLElement 对象数组。
findFieldsByGroup
获取表单 XML 文档中指定名称控件组中的一组 <field>
元素的方法。
findFieldsByGroup( group = null, nested = false) : \SimpleXMLElement[]|bool
自版本 |
1.7.0 |
---|
参数
- 组
mixed
要查找字段的可选点分隔表单组路径。Null 将返回所有字段。False 将返回不在组中的字段。- 嵌套
bool
为真表示还包括要查找字段的组内部的嵌套组中的字段。
返回值
array<string|int, SimpleXMLElement>|bool
错误时的布尔值假或 SimpleXMLElement 对象数组。
findGroup
获取表示为 XML 元素对象表单字段组的方法。
findGroup( group) : \SimpleXMLElement[]|bool
自版本 |
1.7.0 |
---|
参数
- 组
string
要查找组的点分隔表单组路径。
返回值
array<string|int, SimpleXMLElement>|bool
组的 XML 元素对象数组或错误时的布尔值假。
getAttribute
返回表单本身属性的值
getAttribute( name, default = null) :
自版本 |
3.2 |
---|
参数
- 名称
string
要获取的属性的名称- 默认值
mixed
如果未找到属性,则返回可选值
返回值
mixed
属性值/默认值
getCurrentUser
返回当前用户,如果未设置,则返回全局应用程序的身份。这将在 6.0 中更改,并将返回空用户。
getCurrentUser() : \Joomla\CMS\User\User
getData
表单数据的 Getter
getData() : \Joomla\Registry\Registry
自版本 |
3.2 |
---|
返回值
Registry
包含数据的对象
getErrors
返回表单验证过程中抛出的异常。
getErrors() : \Exception||string|int
自版本 |
1.7.0 |
---|
返回值
array<string|int, Exception>
getField
获取表示为 FormField 对象表单字段的方法。
getField( name, group = null, value = null) : \Joomla\CMS\Form\FormField|false
自版本 |
1.7.0 |
---|
参数
- 名称
string
表单字段的名称。- 组
string
要查找字段的可选点分隔表单组路径。- 值
mixed
用作字段默认值的可选值。
返回值
FormField|false
字段的 FormField 对象或错误时的布尔值假。
getFieldAttribute
获取字段 XML 元素的属性值的方法。如果属性不存在或为 null,则将使用可选的默认值。
getFieldAttribute( name, attribute, default = null, group = null) :
自版本 |
1.7.0 |
---|---|
抛出 |
|
参数
- 名称
string
要获取属性值的表单字段的名称。- 属性
string
要获取值的属性的名称。- 默认值
mixed
如果不存在属性值,则使用可选的默认值。- 组
string
要查找字段的可选点分隔表单组路径。
返回值
mixed
字段的属性值。
getFieldset
获取给定名称字段集中的一组 FormField 对象的方法。如果未指定名称,则返回所有字段。
getFieldset( set = null) : \Joomla\CMS\Form\FormField||string|int
getFieldsets
获取字段集对象数组的方法,可以选择根据给定的字段组进行过滤。
getFieldsets( group = null) : object||string|int
自版本 |
1.7.0 |
---|
参数
- 组
string
要过滤字段集的点分隔表单组路径。
返回值
array<string|int, object>
字段集对象数组。
getFieldXml
获取表示为 XML 元素对象表单字段的方法。
getFieldXml( name, group = null) : \SimpleXMLElement|bool
自版本 |
3.7.0 |
---|
参数
- 名称
string
表单字段的名称。- 组
string
要查找字段的可选点分隔表单组路径。
返回值
SimpleXMLElement|bool
字段的 XML 元素对象或错误时的布尔值假。
getFormControl
获取表单控件的方法。此字符串用作所有表单字段的容器。例如,如果有一个名为“foo”的字段和一个名为“bar”的字段,并且表单控件为空,则字段将如下渲染:<input name="foo" />
和 <input name="bar" />
。但是,如果表单控件设置为“joomla”,则字段将如下渲染:<input name="joomla[foo]" />
和 <input name="joomla[bar]" />
。
getFormControl() :
自版本 |
1.7.0 |
---|
返回值
string
表单控件字符串。
getGroup
获取给定名称字段组中的一组 FormField 对象的方法。
getGroup( group, nested = false) : \Joomla\CMS\Form\FormField||string|int
自版本 |
1.7.0 |
---|
参数
- 组
string
要获取表单字段的点分隔表单组路径。- 嵌套
bool
为真表示还包括要查找字段的组内部的嵌套组中的字段。
返回值
array<string|int, FormField>
字段组中的 FormField 对象数组。
getInput
获取字段输入的表单字段标记的方法。
getInput( name, group = null, value = null) :
自版本 |
1.7.0 |
---|
参数
- 名称
string
表单字段的名称。- 组
string
要查找字段的可选点分隔表单组路径。- 值
mixed
用作字段默认值的可选值。
返回值
string
表单字段标记。
getInstance
获取表单实例的方法。
getInstance( name, data = null, mixed||string|int options = [], replace = true, string|bool xpath = false) : \Joomla\CMS\Form\Form
自版本 |
1.7.0 |
---|---|
已弃用 |
4.3 将在 6.0 中删除 使用容器中的 FormFactory 服务 例如:Factory::getContainer()->get(FormFactoryInterface::class)->createForm($name, $options); |
抛出 |
|
参数
- 名称
string
表单的名称。- 数据
string
要加载为表单定义的 XML 文件或字符串的名称。- 选项
array<string|int, mixed>
表单选项的数组。- 替换
bool
切换是否应替换表单字段(如果已存在具有相同组/名称的字段)。- xpath
string|bool
用于搜索字段的可选 xpath。
返回值
Form
表单实例。
getLabel
获取字段输入标签的方法。
getLabel( name, group = null) :
自版本 |
1.7.0 |
---|
参数
- 名称
string
表单字段的名称。- 组
string
要查找字段的可选点分隔表单组路径。
返回值
string
表单字段标签。
getName
获取表单名称的方法。
getName() :
自版本 |
1.7.0 |
---|
返回值
string
表单的名称。
getValue
获取字段值的方法。
getValue( name, group = null, default = null) :
自版本 |
1.7.0 |
---|
参数
- 名称
string
要获取值的字段的名称。- 组
string
要获取值的可选点分隔表单组路径。- 默认值
mixed
如果字段值为空,则使用可选的默认值。
返回值
mixed
字段的值或为空时的默认值。
getXml
获取 XML 表单对象的方法
getXml() : \SimpleXMLElement
自版本 |
3.2 |
---|
返回值
SimpleXMLElement
表单 XML 对象
load
从 XML 字符串或对象加载表单描述的方法。
load(string|\SimpleXMLElement data, replace = true, xpath = null) :
替换选项按字段工作。如果要加载的字段已存在于当前表单定义中,则加载的行为将根据替换标志而有所不同。如果将其设置为 true,则现有字段将被要加载的新字段在其确切位置替换。如果为 false,则将忽略要加载的新字段,并且该方法将继续加载下一个字段。
自版本 |
1.7.0 |
---|
参数
- 数据
string|SimpleXMLElement
XML 字符串或对象的名称。- 替换
bool
切换是否应替换表单字段(如果已存在具有相同组/名称的字段)。- xpath
string
用于搜索字段的可选 xpath。
返回值
bool
成功时为真,否则为假。
loadField
根据字段数据加载、设置和返回 FormField 对象的方法。
loadField(string|\SimpleXMLElement element, group = null, value = null) : \Joomla\CMS\Form\FormField|bool
自版本 |
1.7.0 |
---|
参数
- 元素
string|SimpleXMLElement
表单字段的 XML 元素对象表示形式。- 组
string
要查找字段的可选点分隔表单组路径。- 值
mixed
用作字段默认值的可选值。
返回值
FormField|bool
字段的 FormField 对象或错误时的布尔值假。
loadFile
从 XML 文件加载表单描述的方法。
loadFile( file, reset = true, xpath = null) :
重置选项按组工作。如果 XML 文件引用了已创建的组,则除非将 $reset 参数设置为 false,否则这些组将被新 XML 文件中的字段替换。
自版本 |
1.7.0 |
---|
参数
- 文件
string
XML 文件的文件系统路径。- reset
bool
切换是否应替换表单字段(如果已存在具有相同组/名称的字段)。- xpath
string
用于搜索字段的可选 xpath。
返回值
bool
成功时为真,否则为假。
mergeNode
更新子节点的属性
mergeNode(\SimpleXMLElement source, \SimpleXMLElement new) :
自版本 |
1.7.0 |
---|
参数
- 源
SimpleXMLElement
要附加属性的源元素- 新建
SimpleXMLElement
要附加的新元素
返回值
空
mergeNodes
将新元素合并到源 <fields>
元素中。
mergeNodes(\SimpleXMLElement source, \SimpleXMLElement new) :
自版本 |
1.7.0 |
---|
参数
- 源
SimpleXMLElement
源元素。- 新建
SimpleXMLElement
要合并的新元素。
返回值
空
postProcess
处理表单数据的后处理方法。
postProcess(mixed||string|int data, group = null) :
自版本 |
4.0.0 |
---|
参数
- 数据
array<string|int, mixed>
要后处理的字段值数组。- 组
string
要过滤的字段的可选点分隔表单组路径。
返回值
mixed
数组或假。
process
处理表单数据的方法。
process(mixed||string|int data, group = null) :
自版本 |
4.0.0 |
---|
参数
- 数据
array<string|int, mixed>
要过滤的字段值的数组。- 组
string
要过滤字段的点分隔表单组路径。
返回值
mixed
数组或假。
removeField
从表单定义中删除字段的方法。
removeField( name, group = null) :
自版本 |
1.7.0 |
---|---|
抛出 |
|
参数
- 名称
string
要删除的表单字段的名称。- 组
string
要查找字段的可选点分隔表单组路径。
返回值
bool
成功时为真,否则为假。
removeGroup
从表单定义中删除组的方法。
removeGroup( group) :
自版本 |
1.7.0 |
---|---|
抛出 |
|
参数
- 组
string
要删除的组的点分隔表单组路径。
返回值
bool
成功时为真。
renderField
获取带有标签和输入的控件组的方法。
renderField( name, group = null, default = null, mixed||string|int options = []) :
自版本 |
3.2.3 |
---|
参数
- 名称
string
要获取值的字段的名称。- 组
string
要获取值的可选点分隔表单组路径。- 默认值
mixed
如果字段值为空,则使用可选的默认值。- 选项
array<string|int, mixed>
传递到字段渲染的任何选项
返回值
string
包含控件组 HTML 的字符串
renderFieldset
获取字段集的所有带有标签和输入的控件组的方法。
renderFieldset( name, mixed||string|int options = []) :
自版本 |
3.2.3 |
---|
参数
- 名称
string
要获取值的字段集的名称。- 选项
array<string|int, mixed>
传递到字段渲染的任何选项
返回值
string
包含控件组 HTML 的字符串
reset
重置表单数据存储(以及可选的表单 XML 定义)的方法。
reset( xml = false) :
自版本 |
1.7.0 |
---|
参数
- xml
bool
是否还重置 XML 表单定义。为 true 时重置。
返回值
bool
成功时为真。
setCurrentUser
设置当前用户。
setCurrentUser(\Joomla\CMS\User\User currentUser) :
setField
将字段 XML 元素设置为表单定义的方法。如果设置了 replace 标志,则无论字段是否已存在,都将设置该字段。如果未设置,则如果字段已存在,则不会替换该字段。
setField(\SimpleXMLElement element, group = null, replace = true, fieldset = 'default') :
自版本 |
1.7.0 |
---|---|
抛出 |
|
参数
- 元素
SimpleXMLElement
表单字段的 XML 元素对象表示形式。- 组
string
要设置字段的可选点分隔表单组路径。- 替换
bool
如果已存在,则替换现有字段。为 true 时替换。- fieldset
string
我们正在向其添加字段的字段集的名称。
返回值
bool
成功时为真。
setFieldAttribute
为字段 XML 元素设置属性值的方法。
setFieldAttribute( name, attribute, value, group = null) :
自版本 |
1.7.0 |
---|---|
抛出 |
|
参数
- 名称
string
要为其设置属性值的表单字段的名称。- 属性
string
要为其设置值的属性的名称。- 值
mixed
要为属性设置的值。- 组
string
要查找字段的可选点分隔表单组路径。
返回值
bool
成功时为真。
setFields
将一些字段 XML 元素设置为表单定义的方法。如果设置了 replace 标志,则无论字段是否已存在,都将设置这些字段。如果未设置,则如果字段已存在,则不会替换这些字段。
setFields(\SimpleXMLElement||string|int &elements, group = null, replace = true, fieldset = 'default') :
自版本 |
1.7.0 |
---|---|
抛出 |
|
参数
- elements
array<string|int, SimpleXMLElement>
表单字段的 XML 元素对象表示形式的数组。- 组
string
要设置字段的可选点分隔表单组路径。- 替换
bool
如果已存在,则替换现有字段。为 true 时替换。- fieldset
string
我们正在向其添加字段的字段集的名称。
返回值
bool
成功时为真。
setValue
设置字段值的方法。如果表单中不存在该字段,则该方法将返回 false。
setValue( name, group = null, value = null) :
自版本 |
1.7.0 |
---|
参数
- 名称
string
要为其设置值的字段的名称。- 组
string
要查找字段的可选点分隔表单组路径。- 值
mixed
要为字段设置的值。
返回值
bool
成功时为真。
syncPaths
同步 XML 文档中包含的任何字段、表单或规则路径的方法。
syncPaths() :
自版本 |
1.7.0 |
---|---|
待办事项 |
也许我们应该一次接收所有 addXXXpaths 属性? |
返回值
bool
成功时为真。
validate
验证表单数据的方法。
validate(mixed||string|int data, group = null) :
验证警告将被推送到 Form::$errors 中,并且在 validate 返回布尔值 false 时应使用 Form::getErrors() 获取。
自版本 |
1.7.0 |
---|
参数
- 数据
array<string|int, mixed>
要验证的字段值数组。- 组
string
要过滤的字段的可选点分隔表单组路径。
返回值
bool
成功时为真。
属性
数据
显示期间表单字段的注册表数据存储。
自版本 |
1.7.0 |
---|
类型
注册表
errors
表单对象的错误数组。
自版本 |
1.7.0 |
---|
类型
array<string|int, Exception>
名称
表单实例的名称。
自版本 |
1.7.0 |
---|
类型
string
选项
用于渲染和验证的表单对象选项。
自版本 |
1.7.0 |
---|
类型
array<string|int, mixed>
xml
表单 XML 定义。
自版本 |
1.7.0 |
---|
类型
SimpleXMLElement
repeat
允许扩展实现重复元素
自版本 |
3.2 |
---|
类型
bool