mos/cform

用于处理HTML表单的PHP类

v1.9.8 2016-10-18 16:06 UTC

This package is auto-updated.

Last update: 2024-09-16 09:09:26 UTC


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:

2012-11-13:

2012-10-05:

.
..: 版权所有 2012-2013 by Mikael Roos (me@mikaelroos.se)