我有这样的表格:
<form role="form" method="POST" action="{{url('/books')}}">
{!! csrf_field() !!}
<div class="col-sm-5">
<label>Book Name:</label> <input type="text" class="form-control" name="name"><br>
<label>Pages:</label> <input class="form-control" type="text" name="pages"><br>
<label>Price in Rs:</label> <input type="text" class="form-control" name="price"><br>
<input type="submit" class="btn btn-default"><br>
</div>
</form>
我正在尝试验证所有表单字段是否已设置且不为null。类似于isset()
。但是,即使在没有在任何输入中输入值的情况下提交,也不会执行语句。不是$request->all()
应该这样做。
public function store(Request $request)
{
if($request->all())
{
$book=new Book();
$book->name=$request->name;
$book->pages=$request->pages;
$book->price=$request->price;
if($book->save())
{
return Response::json(true);
}
else
{
return Response::json(false);
}
}
else
{
return "norequest";
}
}
答案 0 :(得分:0)
您可以使用Laravel的ValidatesRequests
特征。
store
中的代码可能如下所示:
public function store(Request $request)
{
$this->validate($request, [
'name' => 'required',
'pages' => 'required',
'price' => 'required'
]);
// the rest of your code goes here....
}
在这里,上面的代码将完成你想要的。因此,无需使用$request->all()
来检查是否所有字段都已设置且不为空。
希望这有帮助。