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();