#### Validate
~~~
/**
* 構造函數
* @access public
* @param array $rules 驗證規則
* @param array $message 驗證提示信息
* @param array $field 驗證字段描述信息
*/
$validate = new Validate(array $rules = [], $message = [], $field = []);
/**
* 實例化驗證
* @access public
* @param array $rules 驗證規則
* @param array $message 驗證提示信息
* @param array $field 驗證字段描述信息
* @return Validate
*/
Validate::make($rules = [], $message = [], $field = []);
/**
* 添加字段驗證規則
* @access protected
* @param string|array $name 字段名稱或者規則數組
* @param mixed $rule 驗證規則
* @return Validate
*/
$validate->rule($name, $rule = '');
/**
* 注冊驗證(類型)規則
* @access public
* @param string $type 驗證規則類型
* @param mixed $callback callback方法(或閉包)
* @return void
*/
Validate::extend($type, $callback = null);
/**
* 獲取驗證規則的默認提示信息
* @access protected
* @param string|array $type 驗證規則類型名稱或者數組
* @param string $msg 驗證提示信息
* @return void
*/
Validate::setTypeMsg($type, $msg = null);
/**
* 設置提示信息
* @access public
* @param string|array $name 字段名稱
* @param string $message 提示信息
* @return Validate
*/
$validate->message($name, $message = '');
/**
* 設置驗證場景
* @access public
* @param string|array $name 場景名或者場景設置數組
* @param mixed $fields 要驗證的字段
* @return Validate
*/
$validate->scene($name, $fields = null);
/**
* 判斷是否存在某個驗證場景
* @access public
* @param string $name 場景名
* @return bool
*/
$validate->hasScene($name);
/**
* 設置批量驗證
* @access public
* @param bool $batch 是否批量驗證
* @return Validate
*/
$validate->batch($batch = true);
/**
* 數據自動驗證
* @access public
* @param array $data 數據
* @param mixed $rules 驗證規則
* @param string $scene 驗證場景
* @return bool
*/
$validate->check($data, $rules = [], $scene = '');
/**
* 驗證單個字段規則
* @access protected
* @param string $field 字段名
* @param mixed $value 字段值
* @param mixed $rules 驗證規則
* @param array $data 數據
* @param string $title 字段描述
* @param array $msg 提示信息
* @return mixed
*/
$this->checkItem($field, $value, $rules, $data, $title = '', $msg = []);
/**
* 驗證是否和某個字段的值一致
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 驗證規則
* @param array $data 數據
* @param string $field 字段名
* @return bool
*/
$this->confirm($value, $rule, $data, $field = '');
/**
* 驗證是否和某個字段的值是否不同
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 驗證規則
* @param array $data 數據
* @return bool
*/
$this->different($value, $rule, $data);
/**
* 驗證是否大于等于某個值
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 驗證規則
* @return bool
*/
$this->egt($value, $rule);
/**
* 驗證是否大于某個值
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 驗證規則
* @return bool
*/
$this->gt($value, $rule);
/**
* 驗證是否小于等于某個值
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 驗證規則
* @return bool
*/
$this->elt($value, $rule);
/**
* 驗證是否小于某個值
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 驗證規則
* @return bool
*/
$this->lt($value, $rule);
/**
* 驗證是否等于某個值
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 驗證規則
* @return bool
*/
$this->eq($value, $rule);
/**
* 驗證字段值是否為有效格式
* @access protected
* @param mixed $value 字段值
* @param string $rule 驗證規則
* @param array $data 驗證數據
* @return bool
*/
$this->is($value, $rule, $data = []);
// 判斷圖像類型
$this->getImageType($image);
/**
* 驗證是否為合格的域名或者IP 支持A,MX,NS,SOA,PTR,CNAME,AAAA,A6, SRV,NAPTR,TXT 或者 ANY類型
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 驗證規則
* @return bool
*/
$this->activeUrl($value, $rule);
/**
* 驗證是否有效IP
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 驗證規則 ipv4 ipv6
* @return bool
*/
$this->ip($value, $rule);
/**
* 驗證上傳文件后綴
* @access protected
* @param mixed $file 上傳文件
* @param mixed $rule 驗證規則
* @return bool
*/
$this->fileExt($file, $rule);
/**
* 驗證上傳文件類型
* @access protected
* @param mixed $file 上傳文件
* @param mixed $rule 驗證規則
* @return bool
*/
$this->fileMime($file, $rule);
/**
* 驗證上傳文件大小
* @access protected
* @param mixed $file 上傳文件
* @param mixed $rule 驗證規則
* @return bool
*/
$this->fileSize($file, $rule);
/**
* 驗證圖片的寬高及類型
* @access protected
* @param mixed $file 上傳文件
* @param mixed $rule 驗證規則
* @return bool
*/
$this->image($file, $rule);
/**
* 驗證請求類型
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 驗證規則
* @return bool
*/
$this->method($value, $rule);
/**
* 驗證時間和日期是否符合指定格式
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 驗證規則
* @return bool
*/
$this->dateFormat($value, $rule);
/**
* 驗證是否唯一
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 驗證規則 格式:數據表,字段名,排除ID,主鍵名
* @param array $data 數據
* @param string $field 驗證字段名
* @return bool
*/
$this->unique($value, $rule, $data, $field);
/**
* 使用行為類驗證
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 驗證規則
* @param array $data 數據
* @return mixed
*/
$this->behavior($value, $rule, $data);
/**
* 使用filter_var方式驗證
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 驗證規則
* @return bool
*/
$this->filter($value, $rule);
/**
* 驗證某個字段等于某個值的時候必須
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 驗證規則
* @param array $data 數據
* @return bool
*/
$this->requireIf($value, $rule, $data);
/**
* 通過回調方法驗證某個字段是否必須
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 驗證規則
* @param array $data 數據
* @return bool
*/
$this->requireCallback($value, $rule, $data);
/**
* 驗證某個字段有值的情況下必須
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 驗證規則
* @param array $data 數據
* @return bool
*/
$this->requireWith($value, $rule, $data);
/**
* 驗證是否在范圍內
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 驗證規則
* @return bool
*/
$this->in($value, $rule);
/**
* 驗證是否不在某個范圍
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 驗證規則
* @return bool
*/
$this->notIn($value, $rule);
/**
* between驗證數據
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 驗證規則
* @return bool
*/
$this->between($value, $rule);
/**
* 使用notbetween驗證數據
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 驗證規則
* @return bool
*/
$this->notBetween($value, $rule);
/**
* 驗證數據長度
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 驗證規則
* @return bool
*/
$this->length($value, $rule);
/**
* 驗證數據最大長度
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 驗證規則
* @return bool
*/
$this->max($value, $rule);
/**
* 驗證數據最小長度
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 驗證規則
* @return bool
*/
$this->min($value, $rule);
/**
* 驗證日期
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 驗證規則
* @return bool
*/
$this->after($value, $rule);
/**
* 驗證日期
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 驗證規則
* @return bool
*/
$this->before($value, $rule);
/**
* 驗證有效期
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 驗證規則
* @return bool
*/
$this->expire($value, $rule);
/**
* 驗證IP許可
* @access protected
* @param string $value 字段值
* @param mixed $rule 驗證規則
* @return mixed
*/
$this->allowIp($value, $rule);
/**
* 驗證IP禁用
* @access protected
* @param string $value 字段值
* @param mixed $rule 驗證規則
* @return mixed
*/
$this->denyIp($value, $rule);
/**
* 使用正則驗證數據
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 驗證規則 正則規則或者預定義正則名
* @return mixed
*/
$this->regex($value, $rule);
/**
* 驗證表單令牌
* @access protected
* @param mixed $value 字段值
* @param mixed $rule 驗證規則
* @param array $data 數據
* @return bool
*/
$this->token($value, $rule, $data);
// 獲取錯誤信息
$validate->getError();
/**
* 獲取數據值
* @access protected
* @param array $data 數據
* @param string $key 數據標識 支持二維
* @return mixed
*/
$this->getDataValue($data, $key);
/**
* 獲取驗證規則的錯誤提示信息
* @access protected
* @param string $attribute 字段英文名
* @param string $title 字段描述名
* @param string $type 驗證規則名稱
* @param mixed $rule 驗證規則數據
* @return string
*/
$this->getRuleMsg($attribute, $title, $type, $rule);
/**
* 獲取數據驗證的場景
* @access protected
* @param string $scene 驗證場景
* @return array
*/
$this->getScene($scene = '');
Validate::__callStatic($method, $params);
~~~