You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel中使用$request->validate()时如何在验证重定向中携带输入?

问题解答

使用$request->validate()语法时,验证失败重定向后默认会自动携带用户输入内容,和你之前手动调用withInput()的效果完全一致——这个过程Laravel已经帮你自动完成,不需要额外配置。

你只需要在视图中通过old()方法获取之前提交的输入值即可,比如:

<!-- 标题输入框回显之前的提交内容 -->
<input type="text" name="title" value="{{ old('title') }}">

如果需要指定自定义的重定向路由(而非默认返回上一页),可以通过validate()方法的第三个参数传入路由名称,重定向后依然会自动携带错误消息和输入内容:

$request->validate(
    ['title' => 'required|unique:posts|max:255'],
    [], // 可选:自定义错误消息数组
    ['title' => 'post.create'] // 指定重定向的路由名称
);

补充说明:Laravel在validate()方法内部,当验证失败时会抛出ValidationException异常,框架的异常处理器会自动捕获该异常,执行重定向并同时调用withErrors()和withInput(),因此你无需手动处理这些逻辑。

内容的提问来源于stack exchange,提问作者Dan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 21:45:48