php - 无法执行表单

标签 php html laravel

我试图通过表单传递数据,但当我点击提交时,页面只是刷新。
我添加了 protected $fillable = ['question'];
我的问题数据库由 $table->string('question');
组成 我的路线是 Route::post('/s', 'QuestionsController@questionFormStore');
这是我运行dd时得到的结果:-

array:1 [▼
  "_token" => "nfApJgaxL06QcCUCNryfjF52x2jdzQw2VVXil8lJ"
]

我检查了我的数据库,没有新条目
没有看到任何错误

这是我的观点:-

@extends('layouts.app')

@section('content')


<div class="card-body">
                    <form method="POST" action="/s">
                        @csrf

                        <div class="form-group row">
                            <label for="Question" class="col-md-4 col-form-label text-md-right">{{ __('Question') }}</label>

                            <div class="col-md-6">
                                <input id="Question" type="text" class="form-control @error('Question') is-invalid @enderror" Question="Question" value="{{ old('Question') }}" required autocomplete="Question" autofocus>

                                @error('Question')
                                    <span class="invalid-feedback" role="alert">
                                        <strong>{{ $message }}</strong>
                                    </span>
                                @enderror
                            </div>
                        </div>


                        <div class="form-group row mb-0">
                            <div class="col-md-6 offset-md-4">
                                <button type="submit" class="btn btn-primary">
                                    {{ __('Submit') }}
                                </button>
                            </div>
                        </div>

                    </form>

@endsection

这是我的 Controller :-

class QuestionsController extends Controller
{

public function questionFormStore(Request $request)
    {
        $data = request()->validate([
            'question' => 'required',
        ]);

        Question::create([
            'question' => $data['question'],
        ]);
        return redirect('/');
    }
}

-谢谢

最佳答案

您的输入没有任何名称,因此 Controller 中的验证方法失败。因此,只需添加缺少的名称即可正确发送表单。

<input id="Question" type="text" name="question" class="form-control @error('Question') is-invalid @enderror" Question="Question" value="{{ old('Question') }}" required autocomplete="Question" autofocus>

我也不知道这个 Question="Question" 的目的是什么,但我猜这应该是名称;)

关于php - 无法执行表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62225571/

相关文章:

php - 查找图中所有不在循环中的节点

PHP isset() 在这种情况下是多余的吗?

php - 将字符串日期格式化为 mysql 日期

javascript - 如何删除div元素下方的空格

php - 在 laravel 4 中选取一些表格行

php - 干预:两次调整图像大小?

javascript - 从每个类获取两个输入数据,在内部相互相乘,将每个数据相加并显示在 div 中

javascript - Html 打印为 PDF - 如果表格在第二页上拆分,则不应用 Css

php - RESTful API 基于用户角色的不同响应

laravel - vagrant laravel 第一次运行出错