CakePHP是对单调的形式输入验证。每个人都讨厌编码无尽的形式及其验证例程。CakePHP使它更容易、更快捷。
利用验证功能,您需要使用CakePHP的FormHelper在你的视图。FormHelper可用默认在$ this - >所有视图的形式。
这是我们添加视图:
我们使用FormHelper来生成HTML表单的开始标记。这是HTML,$this->Form->create()生成:
$ this - >形式- >输入()方法用于创建表单元素相同的名字。第一个参数告诉CakePHP他们对应的字段,和第二个参数允许您指定一个广泛的选择——在这种情况下,文本区域的行数。这里有一点自省和自动:输入()将输出不同的基于模型指定字段的表单元素。
$ this - >形式- >结束()调用生成一个提交按钮,表单。如果一个字符串作为第一个参数提供的结束(),FormHelper输出相应提交按钮命名以及关闭表单标记。再一次,请参考帮助更多的帮手。
现在让我们回过头来更新我们的/ app /视图/文章/索引。ctp视图包括一个新的“添加文章”链接。在<表>之前,添加以下行:
你也许会问:我如何告诉CakePHP我验证需求?验证规则是在模型中定义的。让我们回顾文章模型和做一些调整:
$验证数组告诉CakePHP如何验证您的数据时调用save()方法。在这里,我已经指定,身体和标题字段不能为空。CakePHP的验证引擎强,与一些预先构建的规则(信用卡号码、电子邮件地址等)和灵活性来添加自己的验证规则。有关更多信息,检查数据验证。
现在,你有你的验证规则,使用应用程序试图添加一篇文章一个空标题或正文看到它是如何工作的。因为我们使用FormHelper::FormHelper的输入()方法来创建我们的表单元素,我们的验证错误消息将自动显示。
利用验证功能,您需要使用CakePHP的FormHelper在你的视图。FormHelper可用默认在$ this - >所有视图的形式。
这是我们添加视图:
<!-- File: /app/View/Posts/add.ctp -->
<h1>Add Post</h1>
<?php
echo $this->Form->create('Post');
echo $this->Form->input('title');
echo $this->Form->input('body', array('rows' => '3'));
echo $this->Form->end('Save Post');
?>
我们使用FormHelper来生成HTML表单的开始标记。这是HTML,$this->Form->create()生成:
<form id="PostAddForm" method="post" action="/posts/add">
如果不带参数创建()提供,它假定您正在构建一个表单,提交通过POST电流控制器的添加()操作(或编辑()操作时id包含在表单数据)。
$ this - >形式- >输入()方法用于创建表单元素相同的名字。第一个参数告诉CakePHP他们对应的字段,和第二个参数允许您指定一个广泛的选择——在这种情况下,文本区域的行数。这里有一点自省和自动:输入()将输出不同的基于模型指定字段的表单元素。
$ this - >形式- >结束()调用生成一个提交按钮,表单。如果一个字符串作为第一个参数提供的结束(),FormHelper输出相应提交按钮命名以及关闭表单标记。再一次,请参考帮助更多的帮手。
现在让我们回过头来更新我们的/ app /视图/文章/索引。ctp视图包括一个新的“添加文章”链接。在<表>之前,添加以下行:
<?php echo $this->Html->link(
'Add Post',
array('controller' => 'posts', 'action' => 'add')
); ?>
你也许会问:我如何告诉CakePHP我验证需求?验证规则是在模型中定义的。让我们回顾文章模型和做一些调整:
class Post extends AppModel {
public $validate = array(
'title' => array(
'rule' => 'notEmpty'
),
'body' => array(
'rule' => 'notEmpty'
)
);
}
$验证数组告诉CakePHP如何验证您的数据时调用save()方法。在这里,我已经指定,身体和标题字段不能为空。CakePHP的验证引擎强,与一些预先构建的规则(信用卡号码、电子邮件地址等)和灵活性来添加自己的验证规则。有关更多信息,检查数据验证。
现在,你有你的验证规则,使用应用程序试图添加一篇文章一个空标题或正文看到它是如何工作的。因为我们使用FormHelper::FormHelper的输入()方法来创建我们的表单元素,我们的验证错误消息将自动显示。