mos / cform
用于处理HTML表单的PHP类
v1.9.8
2016-10-18 16:06 UTC
Requires
- php: >=5.4
README
有一篇关于CForm的文章,虽然是瑞典语。
作者:Mikael Roos (me@mikaelroos.se)
许可证
本软件具有双重许可证,MIT许可证和GPL版本3。
表单元素
类CForm
使用CFormElements
。
以下表单元素得到支持
class CFormElementText extends CFormElement {
class CFormElementTextarea extends CFormElement {
class CFormElementHidden extends CFormElement {
class CFormElementPassword extends CFormElement {
class CFormElementCheckbox extends CFormElement {
class CFormElementCheckboxMultiple extends CFormElement {
class CFormElementSubmit extends CFormElement {
验证规则
以下验证规则得到支持
'fail' => array('message' => 'Will always fail.', 'test' => 'return false;'),
'pass' => array('message' => 'Will always pass.', 'test' => 'return true;'),
'not_empty' => array('message' => 'Can not be empty.', 'test' => 'return $value != "";'),
'numeric' => array('message' => 'Must be numeric.', 'test' => 'return is_numeric($value);'),
'mail_address' => array('message' => 'Must be an emailaddress.', 'test' => function($value) { return preg_match('/\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b/i', $value) === 1; } ),
'match' => array('message' => 'The field does not match.', 'test' => 'return $value == $form[$arg]["value"] ;'),
'must_accept' => array('message' => 'You must accept this.', 'test' => 'return isset($value);'),
'match'验证规则在更改密码时很有用,其中一个字段应与表单中的另一个字段匹配。'must_accept'验证规则在用户必须通过点击复选框接受许可协议时很有用。
待办事项
- 以网格形式排列表单元素。
- 使用LESS和CSS样式化表单。
- 支持所有表单元素。
- 制作显示所有表单元素在不同样式下外观的页面。
- 支持更多验证规则。
- 制作如何使用验证规则的示例。
- 通过js/ajax与客户端验证集成/支持。
- 通过js/ajax支持保存表单的部分数据。
- 通过存储在会话和隐藏字段中的键以及匹配这些键来检查表单是否有效。
历史记录
2013-04-22 v0.9.0
- 将CForm从Lydia迁移到自己的存储库时,将其标记为第一个版本。
2012-11-26:
- 添加了对电子邮件地址的验证规则
email_address
。重写了CFormElement::Validate()
以接受匿名函数作为验证规则。
2012-11-14:
- 添加了
CFormElementCheckboxMultiple
。 - 为复选框多选添加了代码示例
http://dbwebb.se/kod-exempel/cform/test_checkbox_multiple.php http://dbwebb.se/kod-exempel/cform/test_checkbox1.php(相同的示例,但不是真正的多选)
2012-11-13:
- 添加了
CFormElementCheckbox
和验证规则must_accept
。 - 为复选框添加了代码示例
http://dbwebb.se/kod-exempel/cform/test_checkbox.php
2012-10-05:
-
更新了此README文件,并在以下位置重新编写了教程
http://dbwebb.se/kunskap/anvand-lydias-formularklass-cform-for-formularhantering -
在以下位置更新了代码示例
http://dbwebb.se/kod-exempel/cform/
.
..: 版权所有 2012-2013 by Mikael Roos (me@mikaelroos.se)