Laravel 学习笔记之自定义验证

1、在app/Providers/AppServiceProvider.php中添加验证规则函数:


namespace App\Providers;
use Validator;
use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
Validator::extend('is_odd_string', function($attribute, $value, $parameters, $validator) {
if(!empty($value) && (strlen($value) % 2) == 0){
return true;
}
return false;
});
}


2、在validation.php中添加自定义验证规则提示:

return [
//自定义
'is_odd_string' => "The :attribute must be even string lenght.",
]

3、在控制器中使用:

public function store(Request $request)
{
$this->validate($request, [
'users_name' => 'required|is_odd_string',
'user_password' => 'required',
'date' => 'required|date',
], [], [
'users_name' => '用户名', //修改提示时变量的名称
'user_password' => '密码',
'date'=>'日期',
]);
return redirect('Session');
}

4、前端显示

@if (count($errors) > 0)


    @foreach ($errors->all() as $error)
  • {{ $error }}
  • @endforeach

@endif

你可能感兴趣的:(Laravel 学习笔记之自定义验证)