📅  最后修改于: 2021-01-05 10:56:26             🧑  作者: Mango
验证是检查传入数据的过程。默认情况下,laravel提供使用ValidatesRequests特征来验证所有传入Http请求的基本控制器类。
让我们通过示例了解验证。
我们将创建一个应用程序,在其中添加学生的姓名。
作曲家创建项目laravel / laravel = 5.8 student_app -prefer-dist;
上面的输出显示在xampp / htdocs目录中已成功创建了student_app项目。
bigIncrements('id');
$table->string('name');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('students');
}
}
上面的代码创建一个具有四个列(id,name,created_at,updated_at)的“学生”表。
用户表中可用的数据:
用户表
php artisan迁移;
路线:: resource('student','StudentController');
public function index()
{
$student=Student::all();
return view('index',compact('student'));
}
index.blade.php
@extends('layout.master')
@section('content')
Student
@foreach($student as $students)
- {{$students->name}}
@endforeach
@endsection
上面代码的输出如下所示:
我们知道StudentController的index()方法的URI是'/ student',因此当我们访问url'localhost / student_app / public / student '时,它将调用index()方法。 index()方法返回index.blade.php文件的视图,如上图所示。
public function store(Request $request)
{
$data=$request->validate([ // validating the name field.
'name'=>'required']);
$student=new Student;
$student->name=$request->get('name');
$student->save();
}
输出量
当我们单击“添加学生”按钮,然后刷新页面时,输出为:
正如我们在上面的屏幕截图中看到的那样,“ Himanshu ”已添加到学生列表中,这意味着“添加学生”按钮可以正常工作。
有时,当我们不输入任何数据时会出现这种情况,而我们按下“添加学生”按钮;这需要验证。我们在store()方法中添加了用于验证“ name ”字段的验证代码,但未显示任何错误消息。为了显示错误消息,laravel提供了显示错误消息的错误变量。它可以用作:
{{$errors->first('name')}}
在index.blade.php中添加以上行之后,index.blade.php文件的代码如下所示:
index.blade.php
@extends('layout.master')
@section('content')
Student
@foreach($student as $students)
- {{$students->name}}
@endforeach
@endsection
输出量
我们还可以在文本框字段中限制字符。如果要在名称字段中输入至少5个字符,则可以在validate函数使用min字段。
public function store(Request $request)
{
$data=$request->validate([
'name'=>'required|min:5']);
$student=new Student;
$student->name=$request->get('name');
$student->save();
}
输出量