数据验证 | 更多功能 |《Lumen 中文文档 5.6 5.6》| Laravel China 社区


本站和网页 https://learnku.com/docs/lumen/5.6/data-validation/1942 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

数据验证 | 更多功能 |《Lumen 中文文档 5.6 5.6》| Laravel China 社区
Laravel
话题列表
社区 Wiki
优质外文
招聘求职
Laravel 实战教程
社区文档
登录
注册
Lumen 中文文档 5.6
展开或关闭
前言
发行说明
升级指南
入门指南
安装
配置
基本功能
HTTP 路由
HTTP 中间件
HTTP 控制器
HTTP Requests
HTTP 响应
更多功能
用户认证
用户授权
缓存
数据库
加密与解密
错误与日志
事件
队列
服务容器
服务提供者
测试
数据验证
Laravel
首页
Laravel
Go
PHP
Vue.js
Python
Java
MySQL
Rust
LK
Elasticsearch
F2E 前端
Server
程序员
Database
DevTools
Computer Science
手机开发
AdonisJS
社区
Wiki
教程
Laravel 实战教程首页
《L01 Laravel 教程 - Web 开发实战入门》
《L02 Laravel 教程 - Web 开发实战进阶》
《L03 Laravel 教程 - 实战构架 API 服务器》
《L04 Laravel 教程 - 微信小程序从零到发布》
《L05 Laravel 教程 - 电商实战》
《L06 Laravel 教程 - 电商进阶》
《LX1 Laravel / PHP 扩展包视频教程》
《LX2 PHP 扩展包实战教程 - 从入门到发布》
《L07 Laravel 教程 - Laravel TDD 测试实战》
《LX3 Laravel 性能优化入门》
《LX4 Laravel / PHP 五分钟视频》
文档
社区文档首页
《Laravel 中文文档》
《Laravel 速查表》
《PHP 代码简洁之道》
《Laravel 编码技巧》
《Dcat Admin 中文文档》
《Laravel Nova 中文文档》
《Lumen 中文文档》
《Dingo API 中文文档》
《 Laravel 项目开发规范》
《构建 Laravel 开发环境》
登录
注册
微信登录
提交改进
数据验证
5.6
6.x
5.7
5.6
5.5
5.3
5.2
5.1
Lumen 中文文档 5.6
未匹配的标注
本文档最新版为 6.x,旧版本可能放弃维护,推荐阅读最新版!
数据验证
简介
Lumen 提供了数种不同的方法来验证传入应用程序的数据。默认情况下,Lumen 的基控制器类使用名为 ProvidesConvenienceMethods 的 trait,其提供了一种便捷的方法来使用各种强大的验证规则验证传入的 HTTP 请求。
一般来说,Lumen 中的数据验证与 Laravel 中的数据验证并无多大区别,因此你应该查阅 完整的 Laravel 数据验证文档 以熟悉其使用;不过,它们之间也存在少许重要的差异。
与 Laravel 的差异
表单请求
Lumen 不支持表单请求。 如果想使用表单请求,则应使用完整的 Laravel 框架。
$this->validate 方法
在 Lumen 中可用的 $this->validate 辅助方法将始终返回带有相关错误消息的 JSON 响应。而该方法的 Laravel 版本,如果请求不是 AJAX 请求,返回的则是重定向响应。由于 Lumen 是无状态的,且不支持会话,所以闪存错误信息在会话中是不可能的。如果想使用重定向及闪存错误数据,应该使用完整的 Laravel 框架。
与 Laravel 不同的是,Lumen 支持在 Route 闭包中访问 validate 方法:
use Illuminate\Http\Request;
$router->post('/user', function (Request $request) {
$this->validate($request, [
'name' => 'required',
'email' => 'required|email|unique:users'
]);
// 存储用户...
});
当然,你可以自由地使用 Validator::make facade 方法手动创建验证器实例,就像在 Laravel 中一样。
exists 和 unique 规则
如果想要使用 exists 或 unique 验证规则,则应该在 bootstrap/app.php 文件中取消对 $app->withEloquent()方法调用的注释。
视图变量 $errors
Lumen 不支持会话,因此在 Laravel 中每个视图都可用的 $errors 视图变量在 Lumen 中是不可用的。如果验证失败,那么 $this->validate 辅助方法会抛出 Illuminate\Validation\ValidationException 异常,其中嵌入了包含所有相关错误消息的 JSON 响应。如果你并非只构建仅发送 JSON 响应的无状态 API,则应使用完整的 Laravel 框架。
本文章首发在 LearnKu.com 网站上。
本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
原文地址:https://learnku.com/docs/lumen/5.6/data-...
译文地址:https://learnku.com/docs/lumen/5.6/data-...
上一篇
下一篇
Markdown 文本
纠错改进
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
贡献者:3
推荐文章:
更多推荐...
问答
每天新增8640w数据,怎么存储比较好
16
46
11个月前
博客
强一致性的分布式事务几种模式对比(php有了新方案)
31
19
1年前
博客
laravel实现100w大量数据插入数据库
15
47
1年前
博客
对线面试官:InnoDB中一棵B+树能存多少行数据?
30
1年前
翻译
如何在 Laravel 代码中正确地使用数据库事务
21
1年前
博客
[扩展推荐] 使用 laravel-gridCaptcha 本地生成类似于谷歌点图验证码
22
1年前
讨论数量: 0
发起讨论
只看当前版本
暂无话题~
社区赞助商
成为赞助商
关于 LearnKu
LearnKu 是终身编程者的修道场
做最专业、严肃的技术论坛
LearnKu 诞生的故事
资源推荐
《社区使用指南》
《文档撰写指南》
《LearnKu 社区规范》
《提问的智慧》
服务提供商
其他信息
成为版主
所有测验
联系站长(反馈建议)
粤ICP备18099781号-6
粤公网安备 44030502004330号
违法和不良信息举报
由 Summer 设计和编码 ❤
请登录
提交
忘记密码?
or
注册
第三方账号登录
微信登录
GitHub 登录
内容举报
匿名举报,为防止滥用,仅管理员可见举报者。
我要举报该,理由是:
垃圾广告:恶意灌水、广告、推广等内容
无意义内容:测试、灌水、文不对题、消极内容、文章品质太差等
违规内容:色情、暴利、血腥、敏感信息等
不友善内容:人身攻击、挑衅辱骂、恶意行为
科学上网:翻墙、VPN、Shadowsocks,政策风险,会被关站!
不懂提问:提问太随意,需要再做一遍《提问的智慧》测验
随意提问:提问没有发布在社区问答分类下
排版混乱:没有合理使用 Markdown 编写文章,未使用代码高亮
内容结构混乱:逻辑不清晰,内容混乱,难以阅读
标题随意:标题党、标题不释义
尊重版权:分享付费课程、破解软件(付费),侵犯作者劳动成果
其他理由:请补充说明
举报
取消