Laravel 6 - 第十五章 验证器

文章目录

Laravel 6 - 第一章 简介
Laravel 6 - 第二章 项目搭建
Laravel 6 - 第三章 文件夹结构
Laravel 6 - 第四章 生命周期
Laravel 6 - 第五章 控制反转和依赖注入
Laravel 6 - 第六章 服务容器
Laravel 6 - 第七章 服务提供者
Laravel 6 - 第八章 门面
Laravel 6 - 第九章 契约
Laravel 6 - 第十章 路由
Laravel 6 - 第十一章 中间件
Laravel 6 - 第十二章 控制器
Laravel 6 - 第十三章 请求
Laravel 6 - 第十四章 响应
Laravel 6 - 第十五章 验证器
Laravel 6 - 第十六章 Artisan 命令


目录


一、验证器(Validator)

用于验证输入数据是否符合特定规则的一个组件,Laravel 6 提供了一个简洁且强大的验证系统,可以轻松验证来自用户输入或其他来源的数据。

二、使用步骤

1.创建控制器

首先,根据Laravel 6 - 第十三章 请求 创建一个包含 store方法的UserController控制器,并注入Request请求实例,如下:

2.验证请求数据

1中例子,在控制器中有两种常用验证写法,如下:

三、验证类

验证类将验证逻辑完全封装在一个单独的类中,不仅重用性更高且更符合单一职责原则,在项目中更推荐使用这种方法来验证数据。

1.创建验证类

使用 artisan cli 创建 UserRequest 验证类,如下:

shell 复制代码
$ php artisan make:request UserRequest

验证类的存放位置在app/Http/Requests 目录。

2.添加验证规则

1中例子,在rules中添加规则,并可在messages 中自定义验证消息,如下:

3.使用验证类

中的例子,将 UserRequest 注入即可,如下:

4.自定义返回

默认情况下,如果验证失败,会生成一个让用户返回到先前位置的重定向响应。但是大多数情况下需要自定义返回错误,这时可以重写 failedValidation,如下:

相关推荐
郑州光合科技余经理10 小时前
基于PHP:海外版同城O2O系统多语言源码解决方案
java·开发语言·git·spring cloud·uni-app·php·uniapp
Q_Q196328847512 小时前
python+django/flask+vue的多媒体素材管理系统
spring boot·python·django·flask·node.js·php
网安老伯14 小时前
什么是网络安全?网络安全包括哪几个方面?学完能做一名黑客吗?
linux·数据库·python·web安全·网络安全·php·xss
梦想要有15 小时前
盲盒爬塔小程序
php
悦悦子a啊15 小时前
[Java]实验--编写TCP客户端程序
java·tcp/ip·php
元素之窗17 小时前
MATLAB 的输入与输出:一篇速查博客
开发语言·matlab·php
Q_Q51100828518 小时前
python+django/flask医药垃圾分类管理系统
spring boot·python·django·flask·node.js·php
十八岁牛爷爷18 小时前
快速入门从零开始一个qt程序开发,熟悉最主要的开发组件应用
数据库·qt·php
Q_Q51100828519 小时前
python+django/flask创新型产品提前购系统
spring boot·python·django·flask·node.js·php
Q_Q196328847519 小时前
python+django/flask+vue的基于协同过滤算法的体育商品推荐系统
spring boot·python·django·flask·node.js·php