我试图通过表单传递数据,但当我点击提交时,页面只是刷新。
我添加了 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/