laravel表单验证失败 如何防止原表单数据都被清空?

发布于 2022-09-03 13:33:05 字数 845 浏览 19 评论 0

我是使用validate方法进行表单验证的。

$messages = [
            'art_editor.required' => '作者不能为空!',
            'art_title.required' => '文章标题不能为空!',
            'art_tag.required' => '文章关键字不能为空!',
            'art_thumb.required' => '请上传首页图或者添加CDN地址',
            'art_description.required' => '文章描述不能为空!',
            'art_content.required' => '请填写文章正文!',
        ];

$result = $this->validate($request, [
            'art_editor' => 'required',
            'art_title' => 'bail|required|max:25',
            'art_tag' => 'required|max:8',
            'art_thumb' => 'required',
            'art_description' => 'required|max:100',
            'art_content' => 'required'
], $messages);

但是一旦表单验证失败,虽然会返回失败具体信息,但是正确的那些input内容也都一起被清空了,那如果我写完一篇文章,是文章标题验证失败,那岂不是整篇文章都需要重写? 所以请各位帮忙!谢谢!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

‘画卷フ 2022-09-10 13:33:05

Controller 里的 validate 方法在验证失败时会带回所有输入值和错误,相当于 return response()->withInput($request->all())->withErrors(...)
所以在 view 中可以用 $errors 获取错误信息,可以用 old 方法获取发生错误前的旧值, 比如

    <input type="text" name="foo"> {{ old('foo', '请输入...') }}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文