Laravel 表单验证创建“表单请求”实现自定义请求类
按照文档创建表单请求自定义类以后,调用总是403页面,咨询大佬说:
public function authorize() { // 在表单验证类的这个方法这里要返回true,默认返回false,这个方法用来判断用户是否有权限使用 return true; }
然后在控制器内使用即可(记得提前引入):
/** * 存储输入的博客文章 * * @param StoreBlogPostRequest $request * @return Response */ public function store(StoreBlogPost $request){ // The incoming request is valid... // Retrieve the validated input data... $validated = $request->validated(); }
以下内容转载自:https://laravelacademy.org/post/19465.html
命令行输入:
php artisan make:request StoreBlogPost
生成的类位于 app/Http/Requests
目录下,如果该目录不存在,运行 make:request
命令时会替我们生成。
添加少许验证规则到该类的 rules
方法:
/** * 获取应用到请求的验证规则 * * @return array */ public function rules(){ return [ 'title' => 'required|unique:posts|max:255', 'body' => 'required', ]; }
那么,验证规则如何生效呢?你所要做的就是在控制器方法中类型提示该请求类。这样表单输入请求会在控制器方法被调用之前被验证,这就是说你不需要将控制器方法和验证逻辑杂糅在一起:
/** * 存储输入的博客文章 * * @param StoreBlogPostRequest $request * @return Response */ public function store(StoreBlogPost $request){ // The incoming request is valid... // Retrieve the validated input data... $validated = $request->validated(); }
如果验证失败,重定向响应会被生成并将用户退回上一个位置,错误信息也会被存储到一次性 Session 以便在视图中显示。如果是 AJAX 请求,带 422
状态码的 HTTP 响应将会返回给用户,该响应数据中还包含了 JSON 格式的验证错误信息。
博 主 :夏秋初
地 址 :https://www.cnblogs.com/xiaqiuchu/p/11414320.html
如果对你有帮助,可以点一下 推荐 或者 关注 吗?会让我的分享变得更有动力~
转载时请带上原文链接,谢谢。
地 址 :https://www.cnblogs.com/xiaqiuchu/p/11414320.html
如果对你有帮助,可以点一下 推荐 或者 关注 吗?会让我的分享变得更有动力~
转载时请带上原文链接,谢谢。
标签:
laravel
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义