【发布时间】:2021-01-07 15:13:00
【问题描述】:
我有一个包含单选按钮形式的性别输入的表单,但是当我尝试使用空值提交时,单选按钮元素不会进入 Request 对象,该对象在输入名称下方的示例中是jenis_kelamin。但是如果 jenis_kelamin 有值,那么 jenis_kelamin 元素将被输入到请求对象中。
我需要 Request 对象中的元素,因为如果单选元素为空,则所需的输入消息将出错。所以,我希望的是当值为空时无线电输入如何进入 Request 对象以及为什么会发生这种情况。
Routes
Route::get('/mahasiswas/create', 'MahasiswaController@create')->name('mahasiswas.create');
Route::post('/mahasiswas', 'MahasiswaController@store')->name('mahasiswas.store');
Controller
public function create(){
return view('form-pendaftaran');
}
public function store(Request $request){
dump($request);
}
查看
<form action="{{route('mahasiswas.store')}}" method="post">
@csrf
<div class="form-group">
<label>Jenis Kelamin</label>
<input type="radio" name="jenis_kelamin" id="laki-laki" value="L">
<label for="laki-laki">Laki-laki</label>
</div>
<button type="submit" class="btn btn-primary mb-2">Daftar</button>
</form>
如果值为空,则无线电输入
如果有值,单选输入
注意:我使用的是 Laravel 7
【问题讨论】:
-
如果您不选择单选选项,则不会向服务器发送任何内容。在 Laravel 中,这是可以的;
required验证将适用于缺少的字段。 -
不,当单选输入为空时,将不需要错误消息,正如我上面提到的,当单选输入不在请求对象中时,如何访问@error ('jenis_kelamin') ,我试过了。
-
是的,它会的;如果字段缺失,验证中的规则
'jenis_kelamin' => 'required'将触发错误,然后$errors->has('jenis_kelamin')将是true,$errors->first('jenis_kelamin')将是'The jenis kelamin field is required'。包括您在问题中使用的验证,以及您如何输出错误。 -
@TimLewis 是对的,如果您在
jenis_kelamin字段上有“必填”规则并且未发送该字段 id,它将无法通过验证,并且错误将出现在响应中 -
嗯,昨晚我尝试了我提到的结果,但结果仍然没有明确的原因,但现在显示了所需的消息。谢谢大家的帮助
标签: javascript php html laravel eloquent