ThinkPHP5 表单请求和验证 - 02
表单验证
我们经常需要在控制器操作方法中进行表单的数据验证,首先确保你的控制器类继承了thinkController,测试代码如下:
<?php
namespace appindexcontroller;
use thinkController;
use thinkRequest;
class Index extends Controller
{
public function index(Request $request)
{
// 定义表单验证规则
$rules = [
"name" => "require|max:25",
"email" => "email",
];
// 验证表单数据
$result = $this->validate($request->param(), $rules);
if (true !== $result) {
// 验证失败 输出错误信息
return "数据验证失败:" . $result;
} else {
return "数据验证通过!";
}
}
}
这个例子对name和email两个表单数据进行数据验证,require验证规则表示该字段是必须验证的(确切的说所有require开
头的验证规则都会表示该字段是必须验证),而其它验证规则都是当有值的时候才进行验证,这是框架所有内置验证规则的通则。
我们用postman直接测试:
或者填写的email格式不规范
但如果email留空的话验证是通过的

如果你没有继承thinkController基类的话,可以直接调用thinkValidate类进行表单数据验证,
我们经常需要在控制器操作方法中进行表单的数据验证,首先确保你的控制器类继承了thinkController,测试代码如下:
<?php
namespace appindexcontroller;
use thinkController;
use thinkRequest;
class Index extends Controller
{
public function index(Request $request)
{
// 定义表单验证规则
$rules = [
"name" => "require|max:25",
"email" => "email",
];
// 验证表单数据
$result = $this->validate($request->param(), $rules);
if (true !== $result) {
// 验证失败 输出错误信息
return "数据验证失败:" . $result;
} else {
return "数据验证通过!";
}
}
}
这个例子对name和email两个表单数据进行数据验证,require验证规则表示该字段是必须验证的(确切的说所有require开
头的验证规则都会表示该字段是必须验证),而其它验证规则都是当有值的时候才进行验证,这是框架所有内置验证规则的通则。
我们用postman直接测试:
如果name字段没有传值,会显示:
或者填写的email格式不规范
但如果email留空的话验证是通过的
如果你没有继承thinkController基类的话,可以直接调用thinkValidate类进行表单数据验证,
和直接用控制器的 validate方法稍有区别。
<?php
namespace appindexcontroller;
use thinkRequest;
use thinkValidate;
class Index
{
public function index(Request $request)
{
// 定义表单验证规则
$rules = [
"name" => "require|max:25",
"email" => "email",
];
// 验证表单数据
$validate = new Validate($rules);
$result = $validate->check($request->param());
if (true !== $result) {
// 验证失败 输出错误信息
return "数据验证失败:" . $result;
} else {
return "数据验证通过!";
}
}
}
测试效果是一致的。
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: js中查看 el数组对象
- 下一篇: 项目管理必备—禅道项目管理系统开源版本的部署及配置