Ejemplo n.º 1
0
 /**
  * 创建一个新实例
  *
  * @param array $filters
  * <p>
  * <pre>
  *   array('username'=>array('StripTags'))
  * </pre>
  * </p>
  * @param array $validate
  * <p>
  * <pre>
  *   array('username'=>array('Required'=>'can not be empty'))
  * </pre>
  * </p>
  * @param array $data
  */
 public function __construct($filters, $validate, $data)
 {
     $this->filters = array();
     $this->validators = array();
     //添加过滤器
     foreach ($filters as $field => $filter_name) {
         $filter_tmp = new Filter();
         foreach ($filter_name as $name) {
             $filter_name = 'filter\\' . $filter_name;
             if (class_exists($filter_name)) {
                 $filter_tmp->addFilter(new $filter_name());
             }
         }
         $this->filters[$field] = $filter_tmp;
     }
     //添加验证器
     foreach ($validate as $field => $rules) {
         $validator_tmp = new Validator();
         foreach ($rules as $rule => $params) {
             $rule_name = 'validator\\' . $rule;
             if (class_exists($rule_name)) {
                 $obj = new $rule_name($params);
                 $validator_tmp->addValidator($obj);
             }
         }
         $this->validators[$field] = $validator_tmp;
     }
     $this->filter($data);
 }