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

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

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 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年前 评论

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