我已经用框架laravel 5.1做了一个表单来修改数据,一切都还可以,但是当我提交表单时,有两个输入都自动添加了一个空格
像这个截图
有我的表格
<form method="post">
<input type="hidden" name="_token" value="{{csrf_token()}}">
<input type="hidden" name="id_article" value="{!!$opusdef->id_article !!}">
<div class="td w10">
<input type="text" name="code_article" value="{!!$opusdef->code_article !!}" required/></div>
<div class="td w5">
<input type="text" name="num_activité" value="{!!$opusdef->num_activité !!}" required/> </div>
<div class="td w15">
<input type="text" name="libellé_activité" value="{!! $opusdef->libellé_activité !!}" required/> </div>
<div class="td w5">
<input type="text" name="domaine" value=" {{$opusdef->domaine}}" required/></div>
<div class="td w10">
<input type="text" name="s_domaine" value=" {!!$opusdef->s_domaine!!}" required/></div>
我的控制器
protected function postAllOpusDef(Request $request){
$data=$request->except('_token');
$opusDefs=OpusDefs::where('id_article',$data['id_article']);
if($opusDefs->update($data)){
return redirect()->back()->with('status','donnée modifiée');
};
}
解决方法:
更改:
<input type="text" name="domaine" value=" {{$opusdef->domaine}}" required/></div>
<div class="td w10">
<input type="text" name="s_domaine" value=" {!!$opusdef->s_domaine!!}" required/></div>
至
<input type="text" name="domaine" value="{{$opusdef->domaine}}" required/></div>
<div class="td w10">
<input type="text" name="s_domaine" value="{!!$opusdef->s_domaine!!}" required/></div>
除此之外,用户可能还会张贴一个空格?因此,您可能希望在将数据存储到数据库之前清理用户输入.
您可以选择创建一个中间件来转换帖子数据,就像Illuminate / Foundation / Http / Middleware / ConvertEmptyStringsToNull的工作方式一样.