您好,欢迎访问一九零五行业门户网

Laravel开发:如何使用Laravel Validation验证请求数据?

laravel开发:如何使用laravel validation验证请求数据?
laravel作为目前最流行的php框架之一,其原因之一就在于它提供了很多优秀的组件,其中之一是laravel validation。在web开发过程中,我们常常需要验证从前端提交的数据是否符合规范,如表单提交等,这时候就需要使用laravel validation组件来进行数据验证。
本文将介绍laravel validation的基本用法及示例。
引入validation在controller中引入validator:
use illuminatesupportfacadesvalidator;
验证规则laravel validation支持多种不同的验证规则,包括必填、邮箱、日期等。我们可以根据需求进行选择。下表列举了一些常用的规则:
规则说明
required 必填
email 邮箱格式
date 日期格式
regex 正则匹配
max 最大长度
min 最小长度
验证器构造使用laravel validaton需要先构造一个验证器,可以通过不同的方式进行构造,如:
使用validator门面的make方法:public function validate(request $request){ $validator = validator::make($request->all(), [ 'name' => 'required|max:255', 'email' => 'required|email|unique:users|max:255', 'password' => 'required|min:6|max:255', ]); if ($validator->fails()) { return redirect('register') ->witherrors($validator) ->withinput(); } // 验证通过,执行代码}
使用request验证:public function rules(){ return [ 'name' => 'required|max:255', 'email' => 'required|email|unique:users|max:255', 'password' => 'required|min:6|max:255', ];}public function register(request $request){ $this->validate($request, $this->rules()); // 验证通过,执行代码}
验证错误信息如果验证失败,可以通过witherrors方法来获取错误信息,如:
if ($validator->fails()) { return redirect('register') ->witherrors($validator) ->withinput();}
然后在视图中调用$errors变量即可获取对应错误信息:
@if ($errors->has('name')) <span class="help-block"> <strong>{{ $errors->first('name') }}</strong> </span>@endif
自定义错误信息在验证器构造的第二个参数中,可以通过设置自定义错误信息来对验证错误进行更加具体的提示,如:
public function rules(){ return [ 'name' => 'required|max:255', 'email' => 'required|email|unique:users|max:255', 'password' => 'required|min:6|max:255', ];}public function messages(){ return [ 'name.required' => '名称不能为空', 'email.required' => '邮箱不能为空', 'email.email' => '请输入正确的邮箱地址', 'email.unique' => '该邮箱已经被注册', 'password.required' => '密码不能为空', 'password.max' => '密码长度不能超过:max个字符', ];}public function register(request $request){ $validator = validator::make($request->all(), $this->rules(), $this->messages()); if ($validator->fails()) { return redirect('register') ->witherrors($validator) ->withinput(); } // 验证通过,执行代码}
本文以上述代码为例进行了laravel validation的基本介绍,希望本文能够帮助到大家。
参考资料:
《laravel框架》
以上就是laravel开发:如何使用laravel validation验证请求数据?的详细内容。
其它类似信息

推荐信息