arastta/form

此软件包已被废弃且不再维护。未建议替代软件包。

Arastta 表单组件

1.1.0 2016-04-11 14:31 UTC

This package is auto-updated.

Last update: 2022-05-11 22:39:20 UTC


README

表单组件通过面向对象的PHP结构,快速开发表单。

元素

它可以创建包括文本框、文本域、复选框、下拉框、日期输入、颜色输入等各种元素。当前版本拥有超过34个元素。此外,它还支持13个HTML 5表单元素:电话、搜索、URL、电子邮件、日期时间、日期、月份、周、时间、本地日期时间、数字、范围和颜色。如果用户的网页浏览器不支持HTML5输入类型,这些元素将回退到文本框。

验证

对于支持HTML5的浏览器,它将在表单提交之前进行简单的客户端数据验证(例如,必填字段)。但大多数验证都是基于服务器端的(请参阅Validation文件夹内的Validation类)。要执行服务器端验证,必须在表单提交时调用isValid()方法,如果返回false则重定向页面。在这种情况下,当表单再次显示时,它将自动填充从用户会话中恢复的数据,并且验证错误将以红色显示。

视图

使用视图功能,可以按水平、垂直、内联或搜索布局排列表单元素。

使用方法

use Arastta\Component\Form\Form;
use Arastta\Component\Form\Element;

$options = array("Option #1", "Option #2", "Option #3");

$form = new Form("my-form");

$form->addElement(new Element\Hidden("form", "form-elements"));
$form->addElement(new Element\HTML('<legend>Standard</legend>'));
$form->addElement(new Element\Textbox("Textbox:", "Textbox"));
$form->addElement(new Element\Password("Password:", "Password"));
$form->addElement(new Element\File("File:", "File"));
$form->addElement(new Element\Textarea("Textarea:", "Textarea"));
$form->addElement(new Element\Select("Select:", "Select", $options));
$form->addElement(new Element\Radio("Radio Buttons:", "RadioButtons", $options));
$form->addElement(new Element\Checkbox("Checkboxes:", "Checkboxes", $options));
$form->addElement(new Element\HTML('<legend>HTML5</legend>'));
$form->addElement(new Element\Phone("Phone:", "Phone"));
$form->addElement(new Element\Search("Search:", "Search"));
$form->addElement(new Element\Url("Url:", "Url"));
$form->addElement(new Element\Email("Email:", "Email"));
$form->addElement(new Element\Date("Date:", "Date"));
$form->addElement(new Element\DateTime("DateTime:", "DateTime"));
$form->addElement(new Element\DateTimeLocal("DateTime-Local:", "DateTimeLocal"));
$form->addElement(new Element\Month("Month:", "Month"));
$form->addElement(new Element\Week("Week:", "Week"));
$form->addElement(new Element\Time("Time:", "Time"));
$form->addElement(new Element\Number("Number:", "Number"));
$form->addElement(new Element\Range("Range:", "Range"));
$form->addElement(new Element\Color("Color:", "Color"));
$form->addElement(new Element\HTML('<legend>jQuery UI</legend>'));
$form->addElement(new Element\JQueryUIDate("Date:", "JQueryUIDate"));
$form->addElement(new Element\Checksort("Checksort:", "Checksort", $options));
$form->addElement(new Element\Sort("Sort:", "Sort", $options));
$form->addElement(new Element\HTML('<legend>Custom/Other</legend>'));
$form->addElement(new Element\State("State:", "State"));
$form->addElement(new Element\Country("Country:", "Country"));
$form->addElement(new Element\YesNo("Yes/No:", "YesNo"));
$form->addElement(new Element\Captcha("Captcha:"));
$form->addElement(new Element\Button);
$form->addElement(new Element\Button("Cancel", "button", array(
    "onclick" => "history.go(-1);"
)));

$form->render();

通过Composer安装

"arastta/form": "~1.0" 添加到您的composer.json文件中的require块,然后运行 composer install

{
	"require": {
		"arastta/form": "~1.0"
	}
}

或者,您可以直接从命令行运行以下命令

composer require arastta/form "~1.0"

许可证

此项目基于PFBC(PHP表单构建器类)并按照GPLv3许可证发布。