迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:表单验证开源软件地址:https://gitee.com/we7coreteam/w7-engine-validate开源软件介绍:中文 |English 介绍一个让你的表单验证更为方便,快捷,安全的扩展,满足你的一切验证需求。 目录安装使用composer命令 composer require w7/engine-validate 完整文档查看完整文档 简单验证支持简单定义一个验证器并进行验证: try { $data = Validate::make([ 'user' => 'required|email', 'pass' => 'required|lengthBetween:6,16', ], [ 'user.required' => '请输入用户名', 'user.email' => '用户名格式错误', 'pass.required' => '请输入密码', 'pass.lengthBetween' => '密码长度为6~16位', ])->check($data);} catch (ValidateException $e) { echo $e->getMessage();} 如果验证通过,则返回所有通过验证的值,如未通过,则抛出一个 验证器定义为具体的验证场景或者数据表单定义验证器类,我们需要继承 我们定义一个 class LoginValidate extends Validate{ protected $rule = [ 'user' => 'required|email', 'pass' => 'required|digits_between:6,16', ]; protected $message = [ 'user.required' => '请输入用户名', 'user.email' => '用户名格式错误', 'pass.required' => '请输入密码', 'pass.digits_between' => '密码长度为6~16位', ];}
数据验证$data = [ 'user' => '[email protected]', 'pass' => ''];$validate = new LoginValidate();$validate->check($data); 此时会抛出一个 $data = [ 'user' => '[email protected]', 'pass' => '123456'];$validate = new LoginValidate();$data = $validate->check($data); 验证成功,并返回通过验证的值,返回的值为数组类型 验证数组验证表单的输入为数组的字段也不难。你可以使用 「点」方法来验证数组中的属性。例如,如果传入的 HTTP 请求中包含 protected $rule = [ 'search.order' => 'numeric|between:1,2', 'search.keyword' => 'chsAlphaNum', 'search.recycle' => 'boolean',]; 你也可以验证数组中的每个元素。例如,要验证指定数组输入字段中的每一个 id 是唯一的,可以这么做: protected $rule = [ 'search.*.id' => 'numeric|unique:account']; 数组规则的错误消息的定义也一样 protected $message = [ 'search.order.numeric' => '排序参数错误', 'search.order.between' => '排序参数错误', 'search.keyword.chsAlphaNum' => '关键词只能包含中文,字母,数字', 'search.recycle.boolean' => '参数错误:recycle',]; 验证器类属性$rule用户定义验证器的验证规则,也可以通过 // 类中定义protected $rule = [ 'user' => 'required'];// 使用方法定义$v->setRules([ 'user' => 'required']); $message用户定义验证器的错误信息,也可以通过 // 类中定义protected $message = [ 'user.required' => '账号必须填写'];// 使用方法定义$v->setMessages([ 'user.required' => '账号必须填写']); $scene定义验证场景的数据,用于指定验证场景对应的验证字段等,详细用法查看验证场景一节,同样也可以通过 // 类中定义protected $scene = [ 'login' => ['user', 'pass']];// 使用方法定义$v->setScene([ 'login' => ['user', 'pass']]); $event定义此验证器下的全局事件,详细用法查看事件一节 protected $event = [ CheckSiteStatus::class]; $customAttributes定义验证字段的名称,也可以通过 protected $customAttributes = [ 'user' => '账号', 'pass' => '密码']; $default定义字段的默认值 protected $default = [ 'name' => '张三']; 关于默认值的详情请查看默认值一节 $filter用于数据验证后处理数据 protected $filter = [ 'name' => 'trim']; 关于过滤器的详情请查看过滤器一节 $ruleMessage类方法规则的错误信息 protected $ruleMessage = [ ':attribute的值只能具有中文']; 点击查看示例 $filled所有验证的字段在存在时不能为空,如果此属性值为 当出现以下情况时,不会自动添加
protected bool $filled = true; $regex预定义正则表达式验证规则,详情查看正则表达式规则 protected $regex = [ 'number' => '/^\d+$/']; $group定义验证规则组 protected $group = [ 'username' => 'alpha_num|min:5|max:10'];protected $rule = [ 'username' => 'required|username']; ![]() |
2022-08-15
2022-08-17
2023-10-27
2022-09-23
2022-08-13
请发表评论