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

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

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
leo
最佳答案

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

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

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

5年前 评论

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

5年前 评论
leo

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

5年前 评论

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