function ($attribute, $value, $fail) 自定义表单验证

laravel5.5自定义表单验证时,$fail()返回的错误是闪存到session中?

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
leo
最佳答案

@haahaha 是的,调用 validate 方法时如果校验不通过,Laravel 会抛出一个 ValidationException 异常,然后会在 App\Exceptions\Handler::render() 这个错误处理方法中判断当前请求的方式,如果是 Ajax 提交就把错误信息已 JSON 格式返回,状态码是 422;否则将就错误信息存在闪存里。

8年前 评论
讨论数量: 3
leo

取决于你的请求方式,如果是表单提交是闪存到 Session,如果是 ajax/api 提交则不会

8年前 评论

@leo 若是ajax/api提交,那么错误信息,应该是抛异常的方式来返回错误?

8年前 评论
leo

@haahaha 是的,调用 validate 方法时如果校验不通过,Laravel 会抛出一个 ValidationException 异常,然后会在 App\Exceptions\Handler::render() 这个错误处理方法中判断当前请求的方式,如果是 Ajax 提交就把错误信息已 JSON 格式返回,状态码是 422;否则将就错误信息存在闪存里。

8年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!