首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Laravel -验证失败后预填充输入数据

Laravel -验证失败后预填充输入数据
EN

Stack Overflow用户
提问于 2018-10-09 07:46:48
回答 2查看 2.2K关注 0票数 1

我使用5.4,我在转换控制器中有一个索引动作,它显示了表单,然后在转换控制器中有另一个动作计算。所以表单有from-currency,amount,to-currency输入,所有这些都是必需的。

下面是我对calculate操作的验证:

代码语言:javascript
复制
    $this->validate(request(), [
        'from_currency' => 'required|min:3|max:3|alpha',
        'to_currency' => 'required|min:3|max:3|alpha',
        'amount' => 'required|numeric',
    ]);

如果验证失败,我希望在显示错误时,表单已经预先填充了输入。

有没有我可以用来请求的函数?我知道如何获取刀片中的域/路径,比如Request::root(),我还在视图中尝试了Request::input('from_currency),但没有成功。

我甚至尝试将视图数据设置为'from_currency‘=> request('from_currency'),但它是空的。有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2018-10-09 08:01:25

在验证表单时,如果请求失败,可以重定向到包含所有提交的输入的页面

代码语言:javascript
复制
    $validator = Validator::make($request->all(), [
        'from_currency' => 'required|min:3|max:3|alpha',
        'to_currency' => 'required|min:3|max:3|alpha',
        'amount' => 'required|numeric',
    ]);

    if ($validator->fails()) {
        return redirect('index')
                    ->withErrors($validator)
                    ->withInput();
    }

在刀片视图中,您可以通过使用old助手来显示旧值,如下所示

代码语言:javascript
复制
<input type="text" name="from_currency" value="{{ old('from_currency') }}">
<input type="text" name="to_currency" value="{{ old('to_currency') }}">
<input type="text" name="amount" value="{{ old('amount') }}">
票数 1
EN

Stack Overflow用户

发布于 2018-10-09 07:59:50

尝尝这个

在您的刀片文件中,确保您的输入具有以下内容:

代码语言:javascript
复制
<input type="text" ... value="{{ old('from_currency') }}" ... >.

然后在你的控制器里。

代码语言:javascript
复制
if($validation->fails()) {
    return redirect()->back()->withInput();
  }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52711478

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档