esports / forms
Nette Forms: 大大简化了网页表单的制作
v2.2-beta1
2014-04-03 16:03 UTC
Requires
- php: >=5.3.1
- nette/component-model: ~2.2
- nette/http: ~2.2
- nette/utils: ~2.2
Requires (Dev)
- latte/latte: ~2.2
- nette/tester: ~1.0
- tracy/tracy: ~2.2
This package is not auto-updated.
Last update: 2024-09-24 06:44:54 UTC
README
Nette\Forms大大简化了创建和处理网页表单的过程。它到底能做什么呢?
- 客户端(JavaScript)和服务器端同时验证发送的数据
- 提供高级别的安全性
- 多种渲染模式
- 翻译,国际化
为什么要在简单的网页表单上设置框架呢?您无需担心常规任务,例如编写两个验证脚本(客户端和服务器),并且您的代码将安全免受安全漏洞的侵害。
Nette 框架致力于安全性,因为表单是最常见的用户输入,所以 Nette 表单几乎坚不可摧。所有操作都是动态和透明的,无需手动设置。常见的漏洞,如跨站脚本(XSS)和跨站请求伪造(CSRF)都会被过滤,以及特殊的控制字符。所有输入都会检查 UTF-8 的有效性。在验证时,每个多选框、选择框等都会检查伪造的值。听起来不错?让我们试试吧。
查看文档.
第一个表单
让我们创建一个简单的注册表单
use Nette\Forms\Form; $form = new Form; $form->addText('name', 'Name:'); $form->addPassword('password', 'Password:'); $form->addSubmit('send', 'Register'); echo $form; // renders the form
虽然我们提到了验证,但我们的表单还没有。让我们修复它。我们需要用户告诉我们他们的名字,因此我们应该调用setRequired()方法,该方法的可选参数是在用户未填写其名字时显示的错误消息。
$form->addText('name', 'Name:') ->setRequired('Please fill your name.');
尝试提交一个没有名字的表单 - 您将看到这条消息,直到您符合验证规则。我们剩下的只是设置 JavaScript 规则。幸运的是,这很简单。我们只需链接到位于发行包中/client-side/forms的netteForms.js。
<script src="netteForms.js"></script>
Nette 框架将required类添加到所有必填元素。添加以下样式将把name输入的标签变为红色。
<style> .required label { color: maroon } </style>
继续….