验证在 laravel 5.5 中不起作用
Validation not working in laravel 5.5
我安装了一个新的 Laravel 5.5 应用程序并在 test.blade.php
视图中创建了一个表单:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<form method="POST" action={{ route('contact') }}>
{{ csrf_field() }}
<input type="text" name="title">
<input type="text" name="body">
<input type="submit" value="click">
</form>
</body>
</html>
并创建了我的 PageController
:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class Pagecontroller extends Controller
{
public function index(Request $request){
$this->validate($request,[
'title' => 'required',
'body' => 'required',
]);
return View('View');
}
}
并在 web.php
添加我的路线:
<?php
Route::get('/', function () {
return view('welcome');
});
Route::get('/test',function(){
return View('test');
});
Route::post('/contact',['uses'=>'PageController@index','as'=>'contact']);
我的问题是当我提交有或没有数据的表单时没有任何反应,页面只是重新加载,当我删除验证码时:
$this->validate($request,[
'title' => 'required',
'body' => 'required',
]);
它 return 请求 我不明白问题出在哪里,因为我之前测试过它并且它在 Laravel 5.4 中工作。谁能帮帮我?
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class Pagecontroller extends Controller
{
public function index(Request $request){
$request->validate([
'title' => 'required',
'body' => 'required',
]);
return View('View');
}
}
你的视图代码应该是:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<form method="POST" action={{ route('contact') }}>
{{ csrf_field() }}
<input type="text" name="title">
<input type="text" name="body">
<input type="submit" value="click">
</form>
</body>
</html>
我安装了一个新的 Laravel 5.5 应用程序并在 test.blade.php
视图中创建了一个表单:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<form method="POST" action={{ route('contact') }}>
{{ csrf_field() }}
<input type="text" name="title">
<input type="text" name="body">
<input type="submit" value="click">
</form>
</body>
</html>
并创建了我的 PageController
:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class Pagecontroller extends Controller
{
public function index(Request $request){
$this->validate($request,[
'title' => 'required',
'body' => 'required',
]);
return View('View');
}
}
并在 web.php
添加我的路线:
<?php
Route::get('/', function () {
return view('welcome');
});
Route::get('/test',function(){
return View('test');
});
Route::post('/contact',['uses'=>'PageController@index','as'=>'contact']);
我的问题是当我提交有或没有数据的表单时没有任何反应,页面只是重新加载,当我删除验证码时:
$this->validate($request,[
'title' => 'required',
'body' => 'required',
]);
它 return 请求 我不明白问题出在哪里,因为我之前测试过它并且它在 Laravel 5.4 中工作。谁能帮帮我?
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class Pagecontroller extends Controller
{
public function index(Request $request){
$request->validate([
'title' => 'required',
'body' => 'required',
]);
return View('View');
}
}
你的视图代码应该是:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<form method="POST" action={{ route('contact') }}>
{{ csrf_field() }}
<input type="text" name="title">
<input type="text" name="body">
<input type="submit" value="click">
</form>
</body>
</html>