您的位置 首页 php

GitHub精选 | PHP表单验证解决方案

《GitHub精选》是我们分享Github中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的是一个PHP表单验证解决方案——微擎表单验证。

表单验证是每个网站不可缺少的一个组成部分,例如登录判断、提交信息、查询信息、反馈信息等,它是网站管理者与浏览者之间沟通的桥梁。微擎提供了更加方便、快捷、安全的扩展,几乎满足目前所有的验证需求。

微擎基于Laravel做了如下扩展:

  • 可通过类的方式定义一个验证器
  • 增加验证场景
  • 增加规则管理器
  • 增加数据默认值
  • 增加数据过滤器
  • 增加场景事件
  • 修改了自定义验证规则
  • 自定义消息增加了对内容的引用
  • 继承集合类增加一个验证集合

验证器支持Laravel的内置规则,内置规则文档可查看规则文档:

示例:

1、简单验证

支持简单定义一个验证器并进行验证, 如果验证通过,则返回所有通过验证的值,如未通过,则抛出一个 W7\Validate\Exception\ValidateException 异常

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

}  

2、验证器定义

为具体的验证场景或者数据表单定义验证器类,我们需要继承W7\Validate\Validate类,然后实例化后直接调用验证类的check方法即可完成验证

 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位',

];

}  

3、数据验证

 $data = [

'user' => '123@qq.com',

'pass' => ''

];

$validate = new LoginValidate();

$validate->check($data);  

此时会抛出一个 W7\Validate\Exception\ValidateException 异常,message为 请输入密码

 $data = [

'user' => '123@qq.com',

'pass' => '123456'

];

$validate = new LoginValidate();

$data = $validate->check($data);  

验证成功,并返回通过验证的值,返回的值为数组类型。

更多内容请大家自行前往阅读。


Gitee:

往期推荐:

文章来源:智云一二三科技

文章标题:GitHub精选 | PHP表单验证解决方案

文章地址:https://www.zhihuclub.com/80121.shtml

关于作者: 智云科技

热门文章

网站地图