本文由 简悦 SimpRead 转码, 原文地址 juejin.cn
「这是我参与 11 月更文挑战的第 7 天,活动详情查看:2021 最后一次更文挑战」
背景
- 项目用 Thinkphp5.1 开发完成,对于各种关系模型的查询 Tp 处理起来还是比较吃力的。
- 作为努力奔跑的程序员,下一个项目我们决定用 Lavarel 进行开发。
- 因为掘金粑粑有奖励,所以把部分 gitee 上的私有的部分学习笔记整理一下。
说明
Laravel 属于中大型框架,各种功能都被内置了,而且 Laravel 官方的文档看的我是云里雾里的,对于新手感觉不是很友好。所以此系列文章只适合有 PHP 基础。想快速入门搞开发的。
正文
上一篇文章我们定义了基础校验器,这里我们定义子类的方法。 创建文件
<?php
namespace app\Http\Validate\Front;
use App\Http\Validate\BaseValidate;
class BlogAdd extends BaseValidate{
/**
* 定义验证规则
*/
protected $rules = [
'title'=>'required|string',
'content'=>'required|string',
'author_id'=>'required|integer',
'category_id'=>'required|integer',
'remarks'=>'string'
];
/**
* 定义提示信息
*/
protected $message = [
'title.required'=>'标题必须填写',
'title.string'=>'标题中含有非法文字',
'content.required'=>'内容必须填写',
'content.string'=>'内容中含有非法文字',
'author_id.required'=>'作者必须选择',
'author_id.integer'=>'作者编号不正确',
'category_id.required'=>'类别必须选择',
'category_id.integer'=>'类别编号不正确'
];
}
复制代码
子类中补充了父类做数据校验所需要的验证规则 提示信息两个属性。此时获取数据的方法,规则,提示信息都齐全了。可以调用方法对数据进行验证了。
此时我们把之前的对于博客的存储方法进行重构,具体的代码
/**
* 保存数据
*/
public function store(Request $request){
$blogService = new BlogService();
//接受并校验参数
$data = (new BlogAddValidate())->getDateByRules($request->all());
$res = $blogService->add($data);
return $this->success($res);
}
复制代码
就在此刻 之前的一堆黑压压的代码,被一句调用搞定。关键是后续所有验证规则,只要创建验证器以后,所有的数据都能通过一句代码就完成了 校验 获取数据的操作。非常的便捷。