it-all/form-former

PHP (7.1+) HTML5 表单创建工具

v2.2.2 2020-01-07 01:58 UTC

This package is auto-updated.

Last update: 2024-09-20 16:06:35 UTC


README

PHP (7.1+) HTML/HTML5 表单创建与验证工具

FormFormer 用于创建 HTML/HTML5 表单,并可选择使用 Valitron Validator 验证提交的字段值。在验证错误的情况下,表单会重新显示并填充字段值和错误消息。FormFormer 在验证后与表单提交处理解耦。

请参阅 examples/valitron.php 以获取包含验证的最小表单示例。

目标是简单而灵活的代码。除了 FieldBuilder(该类可选项地使字段实例化更简洁)外,所有类都使用不可变对象,有助于保持简单性。通过将通用的 $attributes 数组属性纳入 Form 和 Field 类,提供了灵活性,要求客户端程序员了解 HTML 属性,并且可能输出无效的 HTML,因为大多数属性都没有经过验证。

当然,FF 确实有一些 FF 无法处理的复杂性,特别是与格式化相关。随着时间的推移,它可以通过扩展和/或调整来处理一些复杂性,对于其他复杂性则简单地不使用。

安装
composer require it-all/form-former

使用
请参阅示例。

安全
为了防止 XSS,当输出 HTML 元素属性值(如果客户端代码验证输入并重新填充失败时可能包含用户输入)和 HTML 元素内容值(例如 <textarea>转义内容</textarea>)时,使用htmlentities 函数

进一步参考
https://martinfowler.com.cn/articles/web-security-basics.html
https://stackoverflow.com/questions/129677/whats-the-best-method-for-sanitizing-user-input-with-php#130323
https://www.owasp.org/index.php/PHP_Security_Cheat_Sheet#File_uploads

w3.org 关于 HTML5 表单的文档
https://www.w3.org/TR/html5/forms.html