Form

实现 CurrentUserInterface

Joomla 平台的表单类。

此类实现了一个强大的 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
继承
自版本

4.2.0

返回值

用户

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

抛出

UnexpectedValueException

参数

名称

string要获取属性值的表单字段的名称。

属性

string要获取值的属性的名称。

默认值

mixed如果不存在属性值,则使用可选的默认值。

string要查找字段的可选点分隔表单组路径。

返回值

mixed字段的属性值。

getFieldset

获取给定名称字段集中的一组 FormField 对象的方法。如果未指定名称,则返回所有字段。

getFieldset( set = null) : \Joomla\CMS\Form\FormField||string|int
自版本

1.7.0

参数

设置

string字段集的可选名称。

返回值

array<string|int, FormField>字段集中的 FormField 对象数组。

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);

抛出

InvalidArgumentException如果未提供数据。

RuntimeException如果无法加载表单。

参数

名称

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|SimpleXMLElementXML 字符串或对象的名称。

替换

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

参数

文件

stringXML 文件的文件系统路径。

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

抛出

UnexpectedValueException

参数

名称

string要删除的表单字段的名称。

string要查找字段的可选点分隔表单组路径。

返回值

bool成功时为真,否则为假。

removeGroup

从表单定义中删除组的方法。

removeGroup( group) : 
自版本

1.7.0

抛出

UnexpectedValueException

参数

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) : 
继承
自版本

4.2.0

参数

currentUser

User当前用户对象

返回值

setField

将字段 XML 元素设置为表单定义的方法。如果设置了 replace 标志,则无论字段是否已存在,都将设置该字段。如果未设置,则如果字段已存在,则不会替换该字段。

setField(\SimpleXMLElement element,  group = null,  replace = true,  fieldset = 'default') : 
自版本

1.7.0

抛出

UnexpectedValueException

参数

元素

SimpleXMLElement表单字段的 XML 元素对象表示形式。

string要设置字段的可选点分隔表单组路径。

替换

bool如果已存在,则替换现有字段。为 true 时替换。

fieldset

string我们正在向其添加字段的字段集的名称。

返回值

bool成功时为真。

setFieldAttribute

为字段 XML 元素设置属性值的方法。

setFieldAttribute( name,  attribute,  value,  group = null) : 
自版本

1.7.0

抛出

UnexpectedValueException

参数

名称

string要为其设置属性值的表单字段的名称。

属性

string要为其设置值的属性的名称。

mixed要为属性设置的值。

string要查找字段的可选点分隔表单组路径。

返回值

bool成功时为真。

setFields

将一些字段 XML 元素设置为表单定义的方法。如果设置了 replace 标志,则无论字段是否已存在,都将设置这些字段。如果未设置,则如果字段已存在,则不会替换这些字段。

setFields(\SimpleXMLElement||string|int &elements,  group = null,  replace = true,  fieldset = 'default') : 
自版本

1.7.0

抛出

UnexpectedValueException

参数

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成功时为真。

属性

currentUser

当前用户对象。

继承
自版本

4.2.0

类型

用户

数据

显示期间表单字段的注册表数据存储。

自版本

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

forms

表单实例。

静态
自版本

1.7.0

类型

array<string|int, Form>

repeat

允许扩展实现重复元素

自版本

3.2

类型

bool