stefangabos / zebra_form
A jQuery 扩展的 PHP 库,用于创建和验证 HTML 表单
Requires
- php: >=5.3.0
This package is auto-updated.
Last update: 2024-09-11 22:38:21 UTC
README
A jQuery 扩展的 PHP 库,用于创建和验证 HTML 表单
Packagist 统计
Zebra_Form 是一个 PHP 库,极大地简化了创建和验证 HTML 表单的过程。它的面向对象结构促进了 HTML 表单的快速开发,并鼓励开发者编写干净、易于维护的代码。它通过提供强大的内置客户端和服务器端验证,使开发者从编写验证表单的重复性工作中解放出来。
Zebra_Form 集成了 跨站脚本 (XSS) 防护机制,可自动从提交的数据中删除潜在的恶意代码,并具有针对 跨站请求伪造 (CSRF) 攻击的保护。它还可以通过使用 诱饵 自动防止自动垃圾邮件帖子,而不依赖于 CAPTCHA。
表单布局可以自动生成或手动生成 - 使用模板。当自动生成时,生成的输出验证为 HTML 4.01 Strict、XHTML 1.0 Strict 或 HTML5,并在所有主要浏览器(如 Firefox、Chrome、Opera、Safari 和 Internet Explorer 6+)中具有相同的视觉和感觉。
它提供了在 HTML 表单中预期的所有控件,此外还包括日期/时间选择器、CAPTCHA 和高级 AJAX 类型的文件上传控件 - 请参阅 文档 了解开箱即用的验证规则。
客户端验证使用 jQuery 1.5.2+ 完成
Zebra_Form 的代码注释丰富,在 PHP 的错误报告级别设置为 E_ALL 时不会产生警告/错误/通知
特性
- 默认提供对跨站脚本 (XSS) 和跨站请求伪造 (CSRF) 攻击的保护,自动防止使用“诱饵”技术的自动垃圾邮件帖子(也可以使用 CAPTCHA 提供更强大的保护)
- 提供服务器端和客户端验证(客户端验证使用 jQuery 1.5.2+ 完成)并具有大量开箱即用的预定义规则;可以轻松添加自定义验证规则(包括基于 AJAX 的)
- 表单布局可以自动生成或手动生成,使用模板
- 生成的输出验证为 HTML 4.01 Strict、XHTML 1.0 Strict 或 HTML5
- 在所有主要浏览器(如 Firefox、Chrome、Opera、Safari 和 Internet Explorer 6+)中运行
- 代码注释丰富,在 PHP 的错误报告级别设置为 E_ALL 时不会产生警告/错误/通知
- 具有全面的文档
要求
PHP 5.0.2+(最好使用 PHP 5.3.0 并使用“fileinfo”扩展编译,以进行更安全的文件上传 - 在版本 2.7.3 的变更日志中了解更多信息)
jQuery 1.5.2+
如何使用
HTML
<!-- must be in strict mode! --> <!DOCTYPE html> <html> <head> <title>Zebra_Form Example</title> <meta charset="utf-8"> <!-- load Zebra_Form's stylesheet file --> <link rel="stylesheet" href="path/to/zebra_form.css"> </head> <body> <!-- the PHP code below goes here --> <!-- load jQuery --> <script src="path/to/jquery.js"></script> <!-- load Zebra_Form's JavaScript file --> <script src="path/to/zebra_form.js"></script> </body> </html>
PHP
// include the Zebra_Form class require 'path/to/Zebra_Form.php'; // instantiate a Zebra_Form object $form = new Zebra_Form('form'); // the label for the "email" field $form->add('label', 'label_email', 'email', 'Email'); // add the "email" field $obj = $form->add('text', 'email', '', array('autocomplete' => 'off')); // set rules $obj->set_rule(array( // error messages will be sent to a variable called "error", usable in custom templates 'required' => array('error', 'Email is required!'), 'email' => array('error', 'Email address seems to be invalid!'), )); // "password" $form->add('label', 'label_password', 'password', 'Password'); $obj = $form->add('password', 'password', '', array('autocomplete' => 'off')); $obj->set_rule(array( 'required' => array('error', 'Password is required!'), 'length' => array(6, 10, 'error', 'The password must have between 6 and 10 characters'), )); // "remember me" $form->add('checkbox', 'remember_me', 'yes'); $form->add('label', 'label_remember_me_yes', 'remember_me_yes', 'Remember me'); // "submit" $form->add('submit', 'btnsubmit', 'Submit'); // validate the form if ($form->validate()) { // do stuff here } // auto generate output, labels above form elements $form->render();
有关演示和更多信息,请访问 项目主页