esports/

forms

Nette Forms: 大大简化了网页表单的制作

v2.2-beta1 2014-04-03 16:03 UTC

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/formsnetteForms.js

<script src="netteForms.js"></script>

Nette 框架将required类添加到所有必填元素。添加以下样式将把name输入的标签变为红色。

<style>
.required label { color: maroon }
</style>

继续….

Build Status