Laravel之Validator表单验证

以下代码且为一个实例,大家可进行想法自行修改。
Wink~😉


1、页面Form表单准备

<form action="{{ route("article.creates") }}" method="post">{{ csrf_field() }}
    文章标题:<input type="text" name="title" placeholder=""><br>
    文章内容:<input type="text" name="content" placeholder=""><br>
    <button type="submit">立即提交</button>
</form>

2、路由编写

Route::name('article.')->prefix('article')->group(function(){
    Route::get('/validation.html', 'ValidationController@show')->name('show');//访问页面路由
    Route::post('/creates.html', 'ValidationController@createArticle')->name('creates');//验证路由
});

3、内容验证

public function createArticle(Request $request)
{
    $data['title'] = $request->input('title');
    $data['content'] = $request->input('content');
    //定义规则
    $rules = [
        'title' => 'required|max:5',
        'content' => 'required|max:30',
    ];
    //提示信息
    $message = [
        'title.required' => '请输入标题不能为空',
        'title.max'=>'标题过长,请重新输入',
        'content.required' => '请输入内容不能为空',
    ];
    //进行验证
    $validator = Validator::make($data,$rules,$message);  
    
    $errors = $validator->errors();//输出所有错误信息
    $msg = $errors->first('title');//获取某一条的提示信息
    dump($errors);
}


  • 指定字段错误信息获取
foreach ($errors->get('title') as $message) {
    dump($message);
}
  • 所有字段的所有错误信息
foreach ($errors->all() as $message) {
    dump($message);
}
  • 将“可选”的请求字段标记为 nullable —— 如果你不想让验证器将 null 判定为无效的话
$this->validate($request, [
    'publish_at' => 'nullable|date',
]);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。