包 | form |
---|---|
类层次 | QForm » QForm_Group » QForm_Element |
实现的接口 | |
版本 | $Id: form.php 2401 2009-04-07 03:50:08Z dualface $ |
类 QForm 封装了表单的数据和行为
有关 QForm 类的详细使用,请参考开发者手册的相关章节。
属性 | 类型 | 描述 | 定义于 |
---|---|---|---|
$_elements | QColl | 聚合的元素 | QForm_Group |
$_attrs | array | 属性值 | QForm_Element |
$_owner | QForm_Group | 该元素的所有者 | QForm_Element |
$_unfiltered_value | mixed | 未过滤的值 | QForm_Element |
$_filters | array | 过滤器链 | QForm_Element |
$_validations | array | 验证规则 | QForm_Element |
$_is_valid | boolean | 数据的验证结果 | QForm_Element |
$_error_msg | string | 验证失败的信息 | QForm_Element |
$_locked | boolean | 元素是否锁定,锁定元素不接受 import 和validate 赋值 | QForm_Element |
方法 | 描述 | 定义于 |
---|---|---|
_after_created() | 表单对象构造后调用的事件方法 | QForm |
_before_validate() | 表单对象验证之前调用的事件方法 | QForm |
_after_validate() | 表单对象验证之后调用的事件方法 | QForm |
_after_validate_failed() | 当表单验证失败时调用的事件方法 | QForm |
_after_validate_successed() | 当表单验证成功时调用的事件方法 | QForm |
_values() | 提取群组所有元素值的数组 | QForm_Group |
public void __construct($id, $action, $method, $attrs)
$id | string | 表单 ID |
$action | string | 表单提交的目的地 URL |
$method | string | 表单提交方法 |
$attrs | arary | 附加的属性 |
{return} |
构造函数
表单对象构造后,会调用 _after_created() 方法。 QForm 继承类可以在 _after_created() 方法中做进一步的设置和初始化。
public QForm loadFromConfig($config)
$config | array | 包含表单配置的数组 |
{return} | QForm | 返回表单对象本身,实现连贯接口 |
从配置载入表单设置和元素
$form = QForm(); $config = Helper_YAML::loadCached('form_config.yaml'); $form->loadFromConfig($config);
public QForm loadFromConfigFile($filename, $cached)
$filename | string | 要载入的配置文件 |
$cached | bollean | 是否缓存配置文件 |
{return} | QForm | 返回表单对象本身,实现连贯接口 |
从一个 YAML 文件载入表单设置和元素
public boolean validate($data, $failed)
$data | mixed | 要导入的数据,可以是数组或者实现了 ArrayAccess 接口的对象,例如 QColl |
$failed | array | 如果需要确定哪些数据没有验证通过,可以提供 $failed 参数。 验证结果后该参数将包含所有没有通过验证的表单元素的名字。 |
{return} | boolean | 验证结果 |
导入数据并验证,返回验证结果
通过 validate() 方法,数据将被导入表单对象。 并在导入时进行过滤和验证,最后返回验证结果。
if ($form->validate($_POST)) { ... 验证通过 }
验证后的数据使用 values() 方法可以取得。 而未过滤的原始数据使用 unfilteredValues() 方法可以取得。
protected void _after_created()
表单对象构造后调用的事件方法
protected void _before_validate($data)
$data | mixed | 要验证的数据 |
{return} |
表单对象验证之前调用的事件方法
protected void _after_validate($data)
$data | mixed | 要验证的数据 |
{return} |
表单对象验证之后调用的事件方法
protected void _after_validate_failed()
当表单验证失败时调用的事件方法
protected void _after_validate_successed()
当表单验证成功时调用的事件方法