laravel 自带验证

例如我们要验证传过来的数据标题和内容

request()->all();接收的是数组

验证需要用到validate类

<?php
$this->validate(request(),[
            'title'=>'required|string|max:100|min:5',
            'content'=>'required|string|min:10'
        ],[
            'title.min'=>'文章标题过短'
        ]);


//在视图层显示信息
@if(count($errors)>0)
       <div class="alert alert-danger" role="alert">
        @foreach($errors->all() as $error)
            <li>{{$error}}</li>
           @endforeach
       </div>
       @endif

但是有一个问题,默认的错误提示都是英文的,错误提示存在于resources/lang/en/validation.php中

我们可以在lang文件夹下建一个文件夹zh,在zh中建一个validation.php,在网上搜索laravel  validate 中文就能找到汉化版本,复制粘贴即可,然后修改app.php中的

'locale' => 'en',将en改为zh即可


//验证技巧
$this->validate(request(),[
            'name'=>'required|min:3|unique:users,name',  //unique:users,name验证users表中name字段的唯一性
            'email'=>'required|unique:users,eamil|email',
            'password'=>'required|min:5|max:10|confirmed',
//表单验证时,需要确定密码和重复密码一致,需要验证密码,密码的文本框name值为password,重复密码的name值就是password_comfirmation,并且在password的验证字段中加入一个confirmed即可完成验证
]);
//在数据库中的密码不能存成明文的,我们可以使用自带的加密算法
bcrypt();

 

posted @ 2019-05-14 17:31  小呆1107  阅读(614)  评论(0编辑  收藏  举报