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

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

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
leo
最佳答案

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

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

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

7年前 评论

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

7年前 评论
leo

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

7年前 评论

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