freelancehunt/html_quickform2

提供在PHP中创建、验证和渲染HTML表单的方法。

v2.3.1 2022-04-05 06:25 UTC

README

Build Status

这是 [pear/HTML_QuickForm2] 的分支,根据我们的需求进行了额外修改,因此它可能不适用于所有人。

HTML_QuickForm2 提供创建、验证和渲染HTML表单的方法。它是 PEAR HTML_QuickForm 和相关包的 PHP5 重写。

功能

  • 支持HTML4中定义的所有表单元素,提供几个自定义元素。计划支持HTML5表单元素。
  • 服务器端和客户端验证,提供几个常见规则。验证规则可以结合使用 'and' 和 'or' 以实现复杂的验证场景。客户端验证可以在更改表单字段时以及在表单提交时运行。
  • 客户端验证和JavaScript支持的元素使用一个小的自包含JS库,不依赖于JS框架。
  • 支持多页表单(选项卡表单和向导)。
  • 可插拔的元素、规则、渲染器和渲染器插件。

请通过 PEAR 错误跟踪器Github 问题 报告问题。

欢迎Pull请求。

安装

该软件包可以通过PEAR安装

$ pear install HTML_QuickForm2

或者通过composer安装

$ composer require pear/html_quickform2

从版本2.1开始,composer安装完全依赖于自动加载,不包含 require_once 调用或使用 include-path 选项。

基本用法

require_once 'HTML/QuickForm2.php'; // Only when installed with PEAR

$form = new HTML_QuickForm2('tutorial');

// Set defaults for the form elements
$form->addDataSource(new HTML_QuickForm2_DataSource_Array([
    'name' => 'Joe User'
]));

// Add some elements to the form
$fieldset = $form->addElement('fieldset')->setLabel('QuickForm2 tutorial example');
$name = $fieldset->addElement('text', 'name', ['size' => 50, 'maxlength' => 255])
                 ->setLabel('Enter your name:');
$fieldset->addElement('submit', null, ['value' => 'Send!']);

// Define filters and validation rules
$name->addFilter('trim');
$name->addRule('required', 'Please enter your name');

// Try to validate a form
if ($form->validate()) {
    echo '<h1>Hello, ' . htmlspecialchars($name->getValue()) . '!</h1>';
    exit;
}

// Output the form
echo $form;

更多示例在 docs/examples 目录中。

文档

...在PEAR网站上可用

当前版本生成的API文档也在这里。

测试、打包和安装(Pear)

测试,运行

$ phpunit tests/

在用composer安装依赖项之后。您也可以使用以下命令测试已安装的软件包

$ phpunit [PEAR tests dir]/HTML_QuickForm2

由于PEAR软件包需要重新启用其 require_once 语句,请在打包和安装之前运行辅助文件

$ php pear-package-helper.php

然后要构建,只需

$ pear package .pear-package/package.xml

从头开始安装

$ pear install .pear-package/package.xml

升级

$ pear upgrade -f .pear-package/package.xml