[英]laravel validation doesn't work
我正在参加 laravel 课程,为了遵循我必须解决此问题的课程,我检查了所有内容,显然,一切都与那个人向我展示的一样。 但不同的是他的验证有效但我的无效。 当验证无效时,它必须将我重定向到 register_form 但它没有。
路线
Route::get('/', function(){
return view('welcome');
});
Route::get('/register', 'HomeController@register_form');
Route::post('/register', 'HomeController@register');
控制器
namespace CoolBlog\Http\Controllers;
use Illuminate\Http\Request;
class HomeController extends Controller {
public function register_form(){
return view('register');
}
public function register(Request $request) {
$this->validate($request, [
'username' => 'min:5|max:30',
'email' => 'email',
'pass' => 'min:5',
'pass2' => 'same:pass'
]);
}
}
网页
@extends('layout.default')
@section('title', 'Registration')
@section('content')
<form method="post" action="/register" >
{{csrf_field()}}
Name: <input type="text" name="username"><br>
E-mail: <input type="text" name="email"><br>
Password: <input type="password" name="pass2"><br>
Re-Password: <input type="password" name="pass2"><br>
<input type="submit" value="Register">
</form>
@endsection
改变这一行:
Password: <input type="password" name="pass2"><br>
Re-Password: <input type="password" name="pass2"><br>
并将其替换为:
Password: <input type="password" name="pass"><br>
Re-Password: <input type="password" name="pass2"><br>
并在您的验证中,如果您希望必须要求任何字段,则在验证中添加 required
$this->validate($request, [
'username' => 'required|min:5|max:30',
'email' => 'required|email',
'pass' => 'required|min:5',
'pass2' => 'required|same:pass'
]);
您使用相同的名称进行密码和密码确认。 更改密码名称以传入您的刀片文件并尝试使用此验证
$this->validate($request, [
'username' => 'required|min:5|max:30',
'email' => 'required|max:255|unique:users',
'pass' => 'required|min:6|confirmed'
]);
我看到您在验证表单值后没有返回任何路线。 所以,你能不能试试这个代码格式。 验证方法也在上层 Laravel 版本上更新
function store(Request $request)
{
request()->validate([
'title' => 'required',
'body' => 'required',
]);
Post::create($request->all());
return redirect()->route('posts.index')->with('success', 'Post created successfully');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.