📄 default.php
字号:
<?php
/*
数据验证类
重载interface.类
支持时间验证,数字,字符,邮件,电话
采用匿名内部调用传入验证项目必须为数组
*/
class Easy_Validate_Default implements Easy_Validate_Interface{
public static $error = array(); //返回错误数组
public static function validate($data, $rule){
self::$error = null;
foreach ($rule as $key=>$val){
$pattern = $val[0]; //判断规则
$message = $val[1];
$require = $val[2]; //是否必须
$max = $val[4];
$min = $val[3];
if ($val || $require){
if ($require && empty($val)){
if (is_array($message)){
self::$error[$key] = $message['empty'];
}else{
self::$error[$key] = $message;
}
}
if (in_array(strtolower($pattern), array('int', 'float', 'url', 'email','boolean','ip', 'string'))){
if (self::filter($data[$key], $pattern) === false){
if (is_array($message)){
self::$error[$key] = $message['default'];
}else{
self::$error[$key] = $message;
}
}
}else{
if ( !preg_match($pattern, $data[$key])){
if (is_array($message)){
self::$error[$key] = $message['default'];
}else{
self::$error[$key] = $message;
}
}
}
if ($require && is_null($data[$key])){
if(is_array($message)){
self::$error[$key] = $message['empty'];
}else{
self::$error[$key] = $message;
}
}
if ($max && iconv_strlen($data[$key]) > $max){
if(is_array($message)){
self::$error[$key] = $message['max'];
}else{
self::$error[$key] = $message;
}
}elseif ($min && iconv_strlen($data[$key]) < $min){
if(is_array($message)){
self::$error[$key] = $message['min'];
}else{
self::$error[$key] = $message;
}
}
}
}
if (count(self::$error)>0){
return false;
}else{
return true;
}
}
public static function filter($str, $type){
switch (strtolower($type)){
case 'int':
return is_numeric($str);
break;
case 'ip':
if ( ip2long($str)===false || ip2long($str) === 0 ){
return false;
}else{
return true;
}
break;
case 'email':
if ( preg_match('/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+([\.][a-z0-9-]+)+$/i', $str)){
return true;
}else{
return false;
}
break;
case 'boolean':
return is_bool($str);
break;
case 'url':
if ( preg_match('/http:\/\/(.+?)/is', $str)){
return true;
}else{
return false;
}
break;
case 'float':
return is_float($str);
break;
case 'string':
return is_string($str);
break;
}
}
function __call($method, $paramas){
if( FALSE === method_exists(new self(), $method)){
exit($method.':call to undefined method Class Easy_Validate_Default');
}else{
self::$method($paramas);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -