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

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

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
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年前 评论

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