first commit
This commit is contained in:
33
application/common/validate/Advert.php
Normal file
33
application/common/validate/Advert.php
Normal file
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
// +------------------------------------------------+
|
||||
// |http://www.cjango.com |
|
||||
// +------------------------------------------------+
|
||||
// | 修复BUG不是一朝一夕的事情,等我喝醉了再说吧! |
|
||||
// +------------------------------------------------+
|
||||
// | Author: 小陈叔叔 <Jason.Chen> |
|
||||
// +------------------------------------------------+
|
||||
namespace app\common\validate;
|
||||
|
||||
use think\Validate;
|
||||
|
||||
class Advert extends Validate
|
||||
{
|
||||
/**
|
||||
* 验证规则
|
||||
* @var array
|
||||
*/
|
||||
protected $rule = [
|
||||
'title' => 'require',
|
||||
'limit' => 'require|number',
|
||||
];
|
||||
|
||||
/**
|
||||
* 错误提示消息
|
||||
* @var array
|
||||
*/
|
||||
protected $message = [
|
||||
'title.require' => 'Banner名称必须填写',
|
||||
'limit.require' => '显示上限必须填写',
|
||||
'limit.number' => '显示上限必须填数字',
|
||||
];
|
||||
}
|
||||
52
application/common/validate/AdvertDetail.php
Normal file
52
application/common/validate/AdvertDetail.php
Normal file
@@ -0,0 +1,52 @@
|
||||
<?php
|
||||
// +------------------------------------------------+
|
||||
// |http://www.cjango.com |
|
||||
// +------------------------------------------------+
|
||||
// | 修复BUG不是一朝一夕的事情,等我喝醉了再说吧! |
|
||||
// +------------------------------------------------+
|
||||
// | Author: 小陈叔叔 <Jason.Chen> |
|
||||
// +------------------------------------------------+
|
||||
namespace app\common\validate;
|
||||
|
||||
use think\Validate;
|
||||
|
||||
class AdvertDetail extends Validate
|
||||
{
|
||||
/**
|
||||
* 验证规则
|
||||
* @var array
|
||||
*/
|
||||
protected $rule = [
|
||||
'title' => 'require',
|
||||
// 'url' => 'require|url:/^http(s?):\/\/(?:[A-za-z0-9-]+\.)+[A-za-z]{2,4}(:\d+)?(?:[\/\?#][\/=\?%\-&~`@[\]\':+!\.#\w]*)?$/',
|
||||
'sort' => 'require|number',
|
||||
];
|
||||
|
||||
/**
|
||||
* 错误提示消息
|
||||
* @var array
|
||||
*/
|
||||
protected $message = [
|
||||
'title.require' => '标题必须填写',
|
||||
// 'url.require' => 'url必须填写',
|
||||
// 'url.url' => 'url地址添加错误,应类似 http://www.baidu.com',
|
||||
'sort.require' => '排序必须填写',
|
||||
'sort.number' => '排序必须为数字',
|
||||
];
|
||||
|
||||
/**
|
||||
* url验证
|
||||
* @param [type] $mobile [description]
|
||||
* @param [type] $rule [description]
|
||||
* @param [type] $data [description]
|
||||
* @return [type] [description]
|
||||
*/
|
||||
protected function url($url, $rule, $data)
|
||||
{
|
||||
if (preg_match($rule, $url)) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
61
application/common/validate/Article.php
Normal file
61
application/common/validate/Article.php
Normal file
@@ -0,0 +1,61 @@
|
||||
<?php
|
||||
// +------------------------------------------------+
|
||||
// |http://www.cjango.com |
|
||||
// +------------------------------------------------+
|
||||
// | 修复BUG不是一朝一夕的事情,等我喝醉了再说吧! |
|
||||
// +------------------------------------------------+
|
||||
// | Author: 小陈叔叔 <Jason.Chen> |
|
||||
// +------------------------------------------------+
|
||||
namespace app\common\validate;
|
||||
|
||||
use think\Config;
|
||||
use think\Validate;
|
||||
|
||||
class Article extends Validate
|
||||
{
|
||||
|
||||
/**
|
||||
* 验证规则
|
||||
* @var array
|
||||
*/
|
||||
protected $rule = [
|
||||
'title' => 'require|length:4,20|checkDenied',
|
||||
'description' => 'require',
|
||||
'content' => 'require|checkDenied:',
|
||||
'storage_id' => 'require',
|
||||
'category_id' => 'require',
|
||||
];
|
||||
|
||||
/**
|
||||
* 提示信息
|
||||
* @var array
|
||||
*/
|
||||
protected $message = [
|
||||
'title.require' => '标题必须填写',
|
||||
'title.length' => '标题长度应在:1-:2位之间',
|
||||
'description.require' => '描述必须填写',
|
||||
'content.require' => '内容必须填写',
|
||||
'storage_id.require' => '必须上传图片',
|
||||
'category_id.require' => '分类必须选择',
|
||||
];
|
||||
|
||||
/**
|
||||
* 验证场景
|
||||
* @var array
|
||||
*/
|
||||
protected $scene = [
|
||||
'add' => ['title', 'description', 'content', 'storage_id', 'category_id'],
|
||||
];
|
||||
|
||||
protected function checkDenied($value, $rule, $data)
|
||||
{
|
||||
|
||||
$find = Config::get('denied');
|
||||
foreach ($find as $k => $v) {
|
||||
if (substr_count($value, $v)) {
|
||||
return '文章中包含非法关键词 ' . $v;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
32
application/common/validate/ArticleModel.php
Normal file
32
application/common/validate/ArticleModel.php
Normal file
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
// +------------------------------------------------+
|
||||
// |http://www.cjango.com |
|
||||
// +------------------------------------------------+
|
||||
// | 修复BUG不是一朝一夕的事情,等我喝醉了再说吧! |
|
||||
// +------------------------------------------------+
|
||||
// | Author: 小陈叔叔 <Jason.Chen> |
|
||||
// +------------------------------------------------+
|
||||
namespace app\common\validate;
|
||||
|
||||
use think\Validate;
|
||||
|
||||
class ArticleModel extends Validate
|
||||
{
|
||||
|
||||
/**
|
||||
* 验证规则
|
||||
* @var array
|
||||
*/
|
||||
protected $rule = [
|
||||
'content' => 'require',
|
||||
];
|
||||
|
||||
/**
|
||||
* 提示信息
|
||||
* @var array
|
||||
*/
|
||||
protected $message = [
|
||||
'content.require' => '内容必须填写',
|
||||
];
|
||||
|
||||
}
|
||||
40
application/common/validate/Auth.php
Normal file
40
application/common/validate/Auth.php
Normal file
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
// +------------------------------------------------+
|
||||
// |http://www.cjango.com |
|
||||
// +------------------------------------------------+
|
||||
// | 修复BUG不是一朝一夕的事情,等我喝醉了再说吧! |
|
||||
// +------------------------------------------------+
|
||||
// | Author: 小陈叔叔 <Jason.Chen> |
|
||||
// +------------------------------------------------+
|
||||
namespace app\common\validate;
|
||||
|
||||
use think\Validate;
|
||||
|
||||
/**
|
||||
* 用户授权部分验证
|
||||
*/
|
||||
class Auth extends Validate
|
||||
{
|
||||
/**
|
||||
* 验证规则
|
||||
* @var array
|
||||
*/
|
||||
protected $rule = [
|
||||
'title' => 'require|min:3|max:32|unique:auth',
|
||||
'remark' => 'length:0,255',
|
||||
'status' => 'in:0,1',
|
||||
];
|
||||
|
||||
/**
|
||||
* 错误提示消息
|
||||
* @var array
|
||||
*/
|
||||
protected $message = [
|
||||
'title.require' => '分组名称必须填写',
|
||||
'title.min' => '分组名称不应少于:rule字符',
|
||||
'title.max' => '分组名称不应大于:rule字符',
|
||||
'title.unique' => '分组名称已经存在',
|
||||
'remark.length' => '备注信息请保持在:1-:2字符之间',
|
||||
'status.in' => '不合法的分组状态',
|
||||
];
|
||||
}
|
||||
74
application/common/validate/Category.php
Normal file
74
application/common/validate/Category.php
Normal file
@@ -0,0 +1,74 @@
|
||||
<?php
|
||||
// +------------------------------------------------+
|
||||
// |http://www.cjango.com |
|
||||
// +------------------------------------------------+
|
||||
// | 修复BUG不是一朝一夕的事情,等我喝醉了再说吧! |
|
||||
// +------------------------------------------------+
|
||||
// | Author: 小陈叔叔 <Jason.Chen> |
|
||||
// +------------------------------------------------+
|
||||
namespace app\common\validate;
|
||||
|
||||
use think\Config;
|
||||
use think\Db;
|
||||
use think\Validate;
|
||||
|
||||
class Category extends Validate
|
||||
{
|
||||
/**
|
||||
* 验证规则
|
||||
* @var array
|
||||
*/
|
||||
protected $rule = [
|
||||
'title' => 'require|length:1,100',
|
||||
'model' => 'require|checkModel:lvyang|checkExtends:lvyang',
|
||||
'pid' => 'require|integer',
|
||||
'sort' => 'require|integer',
|
||||
'description' => 'length:0,255',
|
||||
];
|
||||
|
||||
/**
|
||||
* 错误提示消息
|
||||
* @var array
|
||||
*/
|
||||
protected $message = [
|
||||
'title.require' => '分类名称必须填写',
|
||||
'title.length' => '分类名称请保持在:1-:2字符之间',
|
||||
'model.require' => '分类模型必须选择',
|
||||
'model.checkModel' => '分类选择有误',
|
||||
'model.checkExtends' => '分类模型必须与上级模型一致',
|
||||
'pid.require' => '上级分类必须选择',
|
||||
'pid.integer' => '上级分类选择错误',
|
||||
'sort.require' => '排序必须填写',
|
||||
'sort.integer' => '排序必须是整数',
|
||||
'description.length' => '分类备注请保持在:rule字符以内',
|
||||
];
|
||||
|
||||
/**
|
||||
* 检测模型是否合法
|
||||
* @param [type] $value 检查的值
|
||||
* @param [type] $rule 规则
|
||||
* @param [type] $data 数据
|
||||
* @return [type] 返回结果
|
||||
*/
|
||||
protected function checkModel($value, $rule, $data)
|
||||
{
|
||||
$keys = array_keys(Config::get('category_model'));
|
||||
return in_array($value, $keys);
|
||||
}
|
||||
|
||||
/**
|
||||
* 检测继承分类是否是相同的模型
|
||||
* @param [type] $value 检查的值
|
||||
* @param [type] $rule 规则
|
||||
* @param [type] $data 数据
|
||||
* @return [type] 返回结果
|
||||
*/
|
||||
protected function checkExtends($value, $rule, $data)
|
||||
{
|
||||
if (0 != $data['pid']) {
|
||||
return $value == Db::name('Category')->where('id', $data['pid'])->value('model');
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
44
application/common/validate/Config.php
Normal file
44
application/common/validate/Config.php
Normal file
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
// +------------------------------------------------+
|
||||
// |http://www.cjango.com |
|
||||
// +------------------------------------------------+
|
||||
// | 修复BUG不是一朝一夕的事情,等我喝醉了再说吧! |
|
||||
// +------------------------------------------------+
|
||||
// | Author: 小陈叔叔 <Jason.Chen> |
|
||||
// +------------------------------------------------+
|
||||
namespace app\common\validate;
|
||||
|
||||
use think\Validate;
|
||||
|
||||
/**
|
||||
* 配置验证器
|
||||
*/
|
||||
class Config extends Validate
|
||||
{
|
||||
/**
|
||||
* 验证规则
|
||||
* @var array
|
||||
*/
|
||||
protected $rule = [
|
||||
'title' => 'require|min:3|max:32',
|
||||
'name' => 'require|min:3|max:32|unique:config',
|
||||
'sort' => 'number',
|
||||
'value' => 'require',
|
||||
];
|
||||
|
||||
/**
|
||||
* 错误提示消息
|
||||
* @var array
|
||||
*/
|
||||
protected $message = [
|
||||
'title.require' => '配置名称必须填写',
|
||||
'title.min' => '配置名称不应少于:rule个字符',
|
||||
'title.max' => '配置名称不应大于:rule字符',
|
||||
'name.require' => '配置标识必须填写',
|
||||
'name.min' => '配置标识不应少于:rule个字符',
|
||||
'name.max' => '配置标识不应大于:rule字符',
|
||||
'name.unique' => '配置标识已经存在',
|
||||
'sort.number' => '排序必须是数字',
|
||||
'value.require' => '配置值必须填写',
|
||||
];
|
||||
}
|
||||
49
application/common/validate/Content.php
Normal file
49
application/common/validate/Content.php
Normal file
@@ -0,0 +1,49 @@
|
||||
<?php
|
||||
// +------------------------------------------------+
|
||||
// |http://www.cjango.com |
|
||||
// +------------------------------------------------+
|
||||
// | 修复BUG不是一朝一夕的事情,等我喝醉了再说吧! |
|
||||
// +------------------------------------------------+
|
||||
// | Author: 小陈叔叔 <Jason.Chen> |
|
||||
// +------------------------------------------------+
|
||||
namespace app\common\validate;
|
||||
|
||||
use think\Validate;
|
||||
|
||||
class Content extends Validate
|
||||
{
|
||||
|
||||
/**
|
||||
* 验证规则
|
||||
* @var array
|
||||
*/
|
||||
protected $rule = [
|
||||
'title' => 'require|length:2,100',
|
||||
'description' => 'require',
|
||||
'content' => 'require',
|
||||
'storage_id' => 'require',
|
||||
'category_id' => 'require',
|
||||
];
|
||||
|
||||
/**
|
||||
* 提示信息
|
||||
* @var array
|
||||
*/
|
||||
protected $message = [
|
||||
'title.require' => '标题必须填写',
|
||||
'title.length' => '标题长度应在:1-:2位之间',
|
||||
'description.require' => '描述必须填写',
|
||||
'content.require' => '内容必须填写',
|
||||
'storage_id.require' => '必须上传图片',
|
||||
'category_id.require' => '分类必须选择',
|
||||
];
|
||||
|
||||
/**
|
||||
* 验证场景
|
||||
* @var array
|
||||
*/
|
||||
protected $scene = [
|
||||
'add' => ['title', 'description', 'content', 'storage_id', 'category_id'],
|
||||
];
|
||||
|
||||
}
|
||||
50
application/common/validate/Direct.php
Normal file
50
application/common/validate/Direct.php
Normal file
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
// +------------------------------------------------+
|
||||
// |http://www.cjango.com |
|
||||
// +------------------------------------------------+
|
||||
// | 修复BUG不是一朝一夕的事情,等我喝醉了再说吧! |
|
||||
// +------------------------------------------------+
|
||||
// | Author: 小陈叔叔 <Jason.Chen> |
|
||||
// +------------------------------------------------+
|
||||
namespace app\common\validate;
|
||||
|
||||
use think\Validate;
|
||||
|
||||
// 完整内容 article/video/audio ext_id
|
||||
class Direct extends Validate
|
||||
{
|
||||
|
||||
/**
|
||||
* 验证规则
|
||||
* @var array
|
||||
*/
|
||||
protected $rule = [
|
||||
'title' => 'require|length:2,100',
|
||||
'type' => 'require',
|
||||
'sort' => 'require',
|
||||
'content' => 'require',
|
||||
'storage_id' => 'require',
|
||||
];
|
||||
|
||||
/**
|
||||
* 提示信息
|
||||
* @var array
|
||||
*/
|
||||
protected $message = [
|
||||
'title.require' => '标题必须填写',
|
||||
'title.length' => '标题长度应在:1-:2位之间',
|
||||
'type.require' => '分类必须选择',
|
||||
'sort.require' => '排序必须选择',
|
||||
'content.require' => '内容必须填写',
|
||||
'storage_id.require' => '必须上传图片',
|
||||
];
|
||||
|
||||
/**
|
||||
* 验证场景
|
||||
* @var array
|
||||
*/
|
||||
protected $scene = [
|
||||
'add' => ['title', 'description', 'type', 'content', 'storage_id', 'category_id'],
|
||||
];
|
||||
|
||||
}
|
||||
35
application/common/validate/Experience.php
Normal file
35
application/common/validate/Experience.php
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
// +------------------------------------------------+
|
||||
// |http://www.cjango.com |
|
||||
// +------------------------------------------------+
|
||||
// | 修复BUG不是一朝一夕的事情,等我喝醉了再说吧! |
|
||||
// +------------------------------------------------+
|
||||
// | Author: 小陈叔叔 <Jason.Chen> |
|
||||
// +------------------------------------------------+
|
||||
namespace app\common\validate;
|
||||
|
||||
use think\Validate;
|
||||
|
||||
class Experience extends Validate
|
||||
{
|
||||
|
||||
/**
|
||||
* 验证规则
|
||||
* @var array
|
||||
*/
|
||||
protected $rule = [
|
||||
'pid' => 'require',
|
||||
'uid' => 'require',
|
||||
'content' => 'require',
|
||||
];
|
||||
|
||||
/**
|
||||
* 提示信息
|
||||
* @var array
|
||||
*/
|
||||
protected $message = [
|
||||
'pid.require' => '上级id没有获取到',
|
||||
'uid.require' => '用户id没有获取到',
|
||||
'content.require' => '内容必须填写',
|
||||
];
|
||||
}
|
||||
45
application/common/validate/Help.php
Normal file
45
application/common/validate/Help.php
Normal file
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
// +------------------------------------------------+
|
||||
// |http://www.cjango.com |
|
||||
// +------------------------------------------------+
|
||||
// | 修复BUG不是一朝一夕的事情,等我喝醉了再说吧! |
|
||||
// +------------------------------------------------+
|
||||
// | Author: 小陈叔叔 <Jason.Chen> |
|
||||
// +------------------------------------------------+
|
||||
namespace app\common\validate;
|
||||
|
||||
use think\Validate;
|
||||
|
||||
class Help extends Validate
|
||||
{
|
||||
|
||||
/**
|
||||
* 验证规则
|
||||
* @var array
|
||||
*/
|
||||
protected $rule = [
|
||||
'title' => 'require|length:2,100',
|
||||
'content' => 'require',
|
||||
'category' => 'require',
|
||||
];
|
||||
|
||||
/**
|
||||
* 提示信息
|
||||
* @var array
|
||||
*/
|
||||
protected $message = [
|
||||
'title.require' => '标题必须填写',
|
||||
'title.length' => '标题长度应在:1-:2位之间',
|
||||
'content.require' => '内容必须填写',
|
||||
'category.require' => '分类必须选择',
|
||||
];
|
||||
|
||||
/**
|
||||
* 验证场景
|
||||
* @var array
|
||||
*/
|
||||
protected $scene = [
|
||||
'add' => ['title', 'content', 'category'],
|
||||
];
|
||||
|
||||
}
|
||||
71
application/common/validate/Member.php
Normal file
71
application/common/validate/Member.php
Normal file
@@ -0,0 +1,71 @@
|
||||
<?php
|
||||
// +------------------------------------------------+
|
||||
// |http://www.cjango.com |
|
||||
// +------------------------------------------------+
|
||||
// | 修复BUG不是一朝一夕的事情,等我喝醉了再说吧! |
|
||||
// +------------------------------------------------+
|
||||
// | Author: 小陈叔叔 <Jason.Chen> |
|
||||
// +------------------------------------------------+
|
||||
namespace app\common\validate;
|
||||
|
||||
use think\Db;
|
||||
use think\Validate;
|
||||
use tools\Crypt;
|
||||
|
||||
class Member extends Validate
|
||||
{
|
||||
|
||||
/**
|
||||
* 验证规则
|
||||
* @var array
|
||||
*/
|
||||
protected $rule = [
|
||||
'username' => 'require|length:4,32|unique:member',
|
||||
'password' => 'require|length:6,32',
|
||||
'openid' => 'require',
|
||||
'oldpass' => 'require|length:6,32|verifyPassword:',
|
||||
'newpass' => 'require|length:6,32|different:oldpass',
|
||||
'repass' => 'require|length:6,32|confirm:newpass',
|
||||
];
|
||||
|
||||
/**
|
||||
* 提示信息
|
||||
* @var array
|
||||
*/
|
||||
protected $message = [
|
||||
'username.require' => '用户名必须填写',
|
||||
'username.length' => '用户名长度应在:1-:2位之间',
|
||||
'username.unique' => '用户名已经存在',
|
||||
'password.require' => '密码必须填写',
|
||||
'password.length' => '密码长度应在:1-:2位之间',
|
||||
'oldpass.require' => '原始密码必须填写',
|
||||
'oldpass.length' => '原始密码长度应在:1-:2位之间',
|
||||
'oldpass.verifyPassword' => '原始密码不正确',
|
||||
'newpass.require' => '新密码必须填写',
|
||||
'newpass.length' => '新密码长度应在:1-:2位之间',
|
||||
'newpass.different' => '新密码不能与原始密码相同',
|
||||
'repass.require' => '确认密码必须填写',
|
||||
'repass.length' => '确认密码长度应在:1-:2位之间',
|
||||
'repass.confirm' => '两次输入的密码不一致',
|
||||
'openid.require' => '绑定失败',
|
||||
];
|
||||
|
||||
/**
|
||||
* 验证场景
|
||||
* @var array
|
||||
*/
|
||||
protected $scene = [
|
||||
'changepass' => ['oldpass', 'newpass', 'repass'],
|
||||
'updatepass' => ['password'],
|
||||
'openid' => ['openid'],
|
||||
'forget' => ['newpass', 'repass'],
|
||||
'register' => ['username', 'password'],
|
||||
'login' => ['username' => 'require|length:4,32', 'password'],
|
||||
'mobileRegister' => ['username', 'password', 'repass' => 'require|confirm:password'],
|
||||
];
|
||||
|
||||
protected function verifyPassword($value, $rule, $data)
|
||||
{
|
||||
return Crypt::uMd5($value) == Db::name('Member')->where('id', $data['uid'])->value('password');
|
||||
}
|
||||
}
|
||||
70
application/common/validate/MemberInfo.php
Normal file
70
application/common/validate/MemberInfo.php
Normal file
@@ -0,0 +1,70 @@
|
||||
<?php
|
||||
// +------------------------------------------------+
|
||||
// |http://www.cjango.com |
|
||||
// +------------------------------------------------+
|
||||
// | 修复BUG不是一朝一夕的事情,等我喝醉了再说吧! |
|
||||
// +------------------------------------------------+
|
||||
// | Author: 小陈叔叔 <Jason.Chen> |
|
||||
// +------------------------------------------------+
|
||||
namespace app\common\validate;
|
||||
|
||||
use think\Validate;
|
||||
use tools\Verify;
|
||||
|
||||
class MemberInfo extends Validate
|
||||
{
|
||||
/**
|
||||
* 验证规则
|
||||
* @var array
|
||||
*/
|
||||
protected $rule = [
|
||||
'nickname' => 'require|min:2|max:4',
|
||||
'mobile' => 'require|length:11|verifyMobile:',
|
||||
'wechat' => 'require|length:2,30',
|
||||
'qq' => 'require|integer|length:5,11',
|
||||
'email' => 'require|email',
|
||||
'position' => 'require|length:2,20',
|
||||
'province' => 'require',
|
||||
'city' => 'require',
|
||||
'signature' => 'require',
|
||||
];
|
||||
|
||||
/**
|
||||
* 错误提示消息
|
||||
* @var array
|
||||
*/
|
||||
protected $message = [
|
||||
'nickname.require' => '用户昵称必须填写',
|
||||
'nickname.max' => '用户昵称最大长度:rule位',
|
||||
'email.require' => '邮箱地址不能为空',
|
||||
'email.email' => '邮箱地址不正确',
|
||||
'qq.require' => 'QQ不能为空',
|
||||
'qq.integer' => 'QQ必须是整数',
|
||||
'qq.length' => 'QQ长度应为:rule位',
|
||||
'mobile.require' => '手机号必须填写',
|
||||
'mobile.length' => '手机号长度应为:rule位',
|
||||
'province.require' => '省份必须选择',
|
||||
'city.require' => '城市必须选择',
|
||||
'signature.require' => '内容必须填写',
|
||||
'mobile.verifyMobile' => '手机号码格式不正确',
|
||||
];
|
||||
|
||||
protected $scene = [
|
||||
'nickname' => ['nickname'],
|
||||
'mobile' => ['mobile'],
|
||||
'wechat' => ['wechat'],
|
||||
'qq' => ['qq'],
|
||||
'email' => ['email'],
|
||||
'position' => ['position'],
|
||||
'wxapi' => ['nickname'],
|
||||
'qrcode' => ['qrcode'],
|
||||
'signature' => ['signature'],
|
||||
'headimgurl' => ['headimgurl'],
|
||||
'city' => ['province', 'city'],
|
||||
];
|
||||
|
||||
protected function verifyMobile($value)
|
||||
{
|
||||
return Verify::isMobilePhone($value);
|
||||
}
|
||||
}
|
||||
132
application/common/validate/MemberList.php
Normal file
132
application/common/validate/MemberList.php
Normal file
@@ -0,0 +1,132 @@
|
||||
<?php
|
||||
// +------------------------------------------------+
|
||||
// |http://www.cjango.com |
|
||||
// +------------------------------------------------+
|
||||
// | 修复BUG不是一朝一夕的事情,等我喝醉了再说吧! |
|
||||
// +------------------------------------------------+
|
||||
// | Author: 小陈叔叔 <Jason.Chen> |
|
||||
// +------------------------------------------------+
|
||||
namespace app\common\validate;
|
||||
|
||||
use think\Validate;
|
||||
|
||||
class MemberList extends Validate
|
||||
{
|
||||
|
||||
/**
|
||||
* 验证规则
|
||||
* @var array
|
||||
*/
|
||||
protected $rule = [
|
||||
'username' => 'require',
|
||||
'level' => 'require',
|
||||
'mobile' => 'require|number|length:11',
|
||||
'id_card' => 'require|checkIdCard',
|
||||
'bank' => 'require|chs',
|
||||
' ' => 'require|number',
|
||||
'password' => 'require',
|
||||
'referee' => 'require',
|
||||
'referee_number' => 'require',
|
||||
'contact' => 'require',
|
||||
'contact_number' => 'require',
|
||||
|
||||
];
|
||||
|
||||
/**
|
||||
* 提示信息
|
||||
* @var array
|
||||
*/
|
||||
protected $message = [
|
||||
'username.require' => '姓名必须填写',
|
||||
'level.require' => '会员级别必须填写',
|
||||
'mobile.require' => '电话必须填写',
|
||||
'mobile.number' => '电话必须是数字',
|
||||
'mobile.length' => '电话号码位数不对,应该是11位',
|
||||
'id_card.require' => '身份证号必须填写',
|
||||
'id_card.checkIdCard' => '身份证号错误',
|
||||
'bank.require' => '银行必须填写',
|
||||
'bank.chs' => '银行只能是中文',
|
||||
'bank_card.require' => '卡号必须填写',
|
||||
'bank_card.number' => '卡号必须是数字',
|
||||
'password.require' => '密码必须填写',
|
||||
'referee.require' => '推荐人必须填写',
|
||||
'referee_number.require' => '推荐人编号必须填写',
|
||||
'contact.require' => '接点人必须填写',
|
||||
'contact_number.require' => '接点人编号必须填写',
|
||||
];
|
||||
|
||||
/**
|
||||
* 验证场景
|
||||
* @var array
|
||||
*/
|
||||
protected $scene = [
|
||||
'add' => ['username', 'level', 'mobile', 'id_card', 'bank', 'bank_card', 'password', 'referee', 'referee_number', 'contact', 'contact_number'],
|
||||
];
|
||||
|
||||
protected function checkIdCard($value, $rule, $data)
|
||||
{
|
||||
$idcard = $value;
|
||||
$City = array(11 => "北京", 12 => "天津", 13 => "河北", 14 => "山西", 15 => "内蒙古", 21 => "辽宁", 22 => "吉林", 23 => "黑龙江", 31 => "上海", 32 => "江苏", 33 => "浙江", 34 => "安徽", 35 => "福建", 36 => "江西", 37 => "山东", 41 => "河南", 42 => "湖北", 43 => "湖南", 44 => "广东", 45 => "广西", 46 => "海南", 50 => "重庆", 51 => "四川", 52 => "贵州", 53 => "云南", 54 => "西藏", 61 => "陕西", 62 => "甘肃", 63 => "青海", 64 => "宁夏", 65 => "新疆", 71 => "台湾", 81 => "香港", 82 => "澳门", 91 => "国外");
|
||||
$iSum = 0;
|
||||
$idCardLength = strlen($idcard);
|
||||
|
||||
//长度验证
|
||||
if (!preg_match('/^\d{17}(\d|x)$/i', $idcard) and !preg_match('/^\d{15}$/i', $idcard)) {
|
||||
return false;
|
||||
}
|
||||
//地区验证
|
||||
if (!array_key_exists(intval(substr($idcard, 0, 2)), $City)) {
|
||||
return false;
|
||||
}
|
||||
// 15位身份证验证生日,转换为18位
|
||||
if ($idCardLength == 15) {
|
||||
$sBirthday = '19' . substr($idcard, 6, 2) . '-' . substr($idcard, 8, 2) . '-' . substr($idcard, 10, 2);
|
||||
$d = new \DateTime($sBirthday);
|
||||
$dd = $d->format('Y-m-d');
|
||||
if ($sBirthday != $dd) {
|
||||
return false;
|
||||
}
|
||||
$idcard = substr($idcard, 0, 6) . "19" . substr($idcard, 6, 9); //15to18
|
||||
$Bit18 = self::getVerifyBit($idcard); //算出第18位校验码
|
||||
$idcard = $idcard . $Bit18;
|
||||
}
|
||||
// 判断是否大于2078年,小于1900年
|
||||
$year = substr($idcard, 6, 4);
|
||||
if ($year < 1900 || $year > 2078) {
|
||||
return false;
|
||||
}
|
||||
//18位身份证处理
|
||||
$sBirthday = substr($idcard, 6, 4) . '-' . substr($idcard, 10, 2) . '-' . substr($idcard, 12, 2);
|
||||
$d = new \DateTime($sBirthday);
|
||||
$dd = $d->format('Y-m-d');
|
||||
if ($sBirthday != $dd) {
|
||||
return false;
|
||||
}
|
||||
//身份证编码规范验证
|
||||
$idcard_base = substr($idcard, 0, 17);
|
||||
if (strtoupper(substr($idcard, 17, 1)) != self::getVerifyBit($idcard_base)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// 计算身份证校验码,根据国家标准GB 11643-1999
|
||||
public function getVerifyBit($idcard_base)
|
||||
{
|
||||
if (strlen($idcard_base) != 17) {
|
||||
return false;
|
||||
}
|
||||
//加权因子
|
||||
$factor = array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
|
||||
//校验码对应值
|
||||
$verify_number_list = array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
|
||||
$checksum = 0;
|
||||
for ($i = 0; $i < strlen($idcard_base); $i++) {
|
||||
$checksum += substr($idcard_base, $i, 1) * $factor[$i];
|
||||
}
|
||||
$mod = $checksum % 11;
|
||||
$verify_number = $verify_number_list[$mod];
|
||||
return $verify_number;
|
||||
}
|
||||
|
||||
}
|
||||
47
application/common/validate/Menu.php
Normal file
47
application/common/validate/Menu.php
Normal file
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
// +------------------------------------------------+
|
||||
// |http://www.cjango.com |
|
||||
// +------------------------------------------------+
|
||||
// | 修复BUG不是一朝一夕的事情,等我喝醉了再说吧! |
|
||||
// +------------------------------------------------+
|
||||
// | Author: 小陈叔叔 <Jason.Chen> |
|
||||
// +------------------------------------------------+
|
||||
namespace app\common\validate;
|
||||
|
||||
use think\Validate;
|
||||
|
||||
/**
|
||||
* 菜单验证器
|
||||
*/
|
||||
class Menu extends Validate
|
||||
{
|
||||
/**
|
||||
* 验证规则
|
||||
* @var array
|
||||
*/
|
||||
protected $rule = [
|
||||
'title' => 'require|max:32',
|
||||
'sort' => 'number',
|
||||
'url' => 'requireWith:pid|max:30',
|
||||
];
|
||||
|
||||
/**
|
||||
* 错误提示消息
|
||||
* @var array
|
||||
*/
|
||||
protected $message = [
|
||||
'title.require' => '菜单名称必须填写',
|
||||
'title.max' => '菜单名称不应大于:rule字符',
|
||||
'sort.number' => '排序必须是数字',
|
||||
'url.requireWith' => '菜单URL连接必须填写',
|
||||
'url.max' => '菜单URL最大长度:rule字符',
|
||||
];
|
||||
|
||||
/**
|
||||
* 验证场景
|
||||
* @var array
|
||||
*/
|
||||
protected $scene = [
|
||||
'add' => ['title', 'sort', 'url'],
|
||||
];
|
||||
}
|
||||
42
application/common/validate/Message.php
Normal file
42
application/common/validate/Message.php
Normal file
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
// +------------------------------------------------+
|
||||
// |http://www.cjango.com |
|
||||
// +------------------------------------------------+
|
||||
// | 修复BUG不是一朝一夕的事情,等我喝醉了再说吧! |
|
||||
// +------------------------------------------------+
|
||||
// | Author: 小陈叔叔 <Jason.Chen> |
|
||||
// +------------------------------------------------+
|
||||
namespace app\common\validate;
|
||||
|
||||
use think\Validate;
|
||||
|
||||
class Message extends Validate
|
||||
{
|
||||
|
||||
/**
|
||||
* 验证规则
|
||||
* @var array
|
||||
*/
|
||||
protected $rule = [
|
||||
'from_uid' => 'require',
|
||||
'to_uid' => 'require',
|
||||
'content' => 'require',
|
||||
];
|
||||
|
||||
/**
|
||||
* 提示信息
|
||||
* @var array
|
||||
*/
|
||||
protected $message = [
|
||||
'content.require' => '内容必须填写',
|
||||
];
|
||||
|
||||
/**
|
||||
* 验证场景
|
||||
* @var array
|
||||
*/
|
||||
protected $scene = [
|
||||
'add' => ['from_uid', 'to_uid', 'content'],
|
||||
];
|
||||
|
||||
}
|
||||
49
application/common/validate/ScoreRules.php
Normal file
49
application/common/validate/ScoreRules.php
Normal file
@@ -0,0 +1,49 @@
|
||||
<?php
|
||||
// +------------------------------------------------+
|
||||
// |http://www.cjango.com |
|
||||
// +------------------------------------------------+
|
||||
// | 修复BUG不是一朝一夕的事情,等我喝醉了再说吧! |
|
||||
// +------------------------------------------------+
|
||||
// | Author: 小陈叔叔 <Jason.Chen> |
|
||||
// +------------------------------------------------+
|
||||
namespace app\common\validate;
|
||||
|
||||
use think\Validate;
|
||||
|
||||
class ScoreRules extends Validate
|
||||
{
|
||||
|
||||
/**
|
||||
* 验证规则
|
||||
* @var array
|
||||
*/
|
||||
protected $rule = [
|
||||
'title' => 'require|length:2,100',
|
||||
'score' => 'require|number',
|
||||
'times' => 'require|number',
|
||||
'model' => 'require',
|
||||
];
|
||||
|
||||
/**
|
||||
* 提示信息
|
||||
* @var array
|
||||
*/
|
||||
protected $message = [
|
||||
'title.require' => '名称必须填写',
|
||||
'title.length' => '名称长度应在:1-:2位之间',
|
||||
'score.require' => '积分必须填写',
|
||||
'score.number' => '积分必须是数字',
|
||||
'times.require' => '每日次数必须填写',
|
||||
'times.require' => '每日次数必须是数字',
|
||||
'model.require' => '规则名必须填写',
|
||||
];
|
||||
|
||||
/**
|
||||
* 验证场景
|
||||
* @var array
|
||||
*/
|
||||
protected $scene = [
|
||||
'add' => ['title', 'score', 'times', 'model'],
|
||||
];
|
||||
|
||||
}
|
||||
54
application/common/validate/Sms.php
Normal file
54
application/common/validate/Sms.php
Normal file
@@ -0,0 +1,54 @@
|
||||
<?php
|
||||
// +------------------------------------------------+
|
||||
// |http://www.cjango.com |
|
||||
// +------------------------------------------------+
|
||||
// | 修复BUG不是一朝一夕的事情,等我喝醉了再说吧! |
|
||||
// +------------------------------------------------+
|
||||
// | Author: 小陈叔叔 <Jason.Chen> |
|
||||
// +------------------------------------------------+
|
||||
namespace app\common\validate;
|
||||
|
||||
use think\Db;
|
||||
use think\Validate;
|
||||
use tools\Verify;
|
||||
|
||||
class Sms extends Validate
|
||||
{
|
||||
/**
|
||||
* 验证规则
|
||||
* @var array
|
||||
*/
|
||||
protected $rule = [
|
||||
'mobile' => 'require|checkMobile:|checkTimes:',
|
||||
'code' => 'require|length:4,6',
|
||||
];
|
||||
|
||||
/**
|
||||
* 错误提示消息
|
||||
* @var array
|
||||
*/
|
||||
protected $message = [
|
||||
'mobile.require' => '手机号码 必须填写',
|
||||
'mobile.checkMobile' => '手机号码 格式有误',
|
||||
'code.require' => '验证码 必须填写',
|
||||
'code.length' => '验证码 长度有误',
|
||||
];
|
||||
|
||||
protected $scene = [
|
||||
|
||||
];
|
||||
|
||||
protected function checkTimes($value)
|
||||
{
|
||||
if (time() - Db::name('Sms')->where('mobile', $value)->order('id desc')->value('create_time') < 60) {
|
||||
return '发送频率过快';
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
protected function checkMobile($value)
|
||||
{
|
||||
return Verify::isMobilePhone($value);
|
||||
}
|
||||
}
|
||||
32
application/common/validate/Storage.php
Normal file
32
application/common/validate/Storage.php
Normal file
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
// +------------------------------------------------+
|
||||
// |http://www.cjango.com |
|
||||
// +------------------------------------------------+
|
||||
// | 修复BUG不是一朝一夕的事情,等我喝醉了再说吧! |
|
||||
// +------------------------------------------------+
|
||||
// | Author: 小陈叔叔 <Jason.Chen> |
|
||||
// +------------------------------------------------+
|
||||
namespace app\common\validate;
|
||||
|
||||
use think\Validate;
|
||||
|
||||
class Storage extends Validate
|
||||
{
|
||||
/**
|
||||
* 验证规则
|
||||
* @var array
|
||||
*/
|
||||
protected $rule = [
|
||||
'image' => 'file|image:|fileExt:jpg,png,gif,jpeg,bmp|fileSize:2097152',
|
||||
'file' => 'file|fileExt:doc,docx,xls,xlsx,ppt,pptx,zip,rar,jpg,png,gif,jpeg,bmp|fileSize:5242880',
|
||||
'video' => 'file|fileExt:mp4,flv,swf|fileSize:52428800',
|
||||
'audio' => 'file|fileExt:mp3|fileSize:52428800',
|
||||
];
|
||||
|
||||
/**
|
||||
* 错误提示消息
|
||||
* @var array
|
||||
*/
|
||||
protected $message = [
|
||||
];
|
||||
}
|
||||
Reference in New Issue
Block a user