Advertisement
fabi0

Untitled

Nov 10th, 2013
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.44 KB | None | 0 0
  1. namespace Models;
  2.  
  3. class Validator {
  4.  
  5.     private $_data = array();
  6.     private $_rules = array();
  7.     private $_errors = array();
  8.  
  9.     function __construct() {
  10.        
  11.     }
  12.  
  13.     public function setData($params) {
  14.         $this->_data = $params;
  15.         return $this;
  16.     }
  17.  
  18.     public function setRules($field, $type, $param = NULL) {
  19.         $this->_rules[$field][] = array('type' => $type, 'param' => $param);
  20.         return $this;
  21.     }
  22.  
  23.     public function validate() {
  24.         foreach ($this->_rules as $field => $rules) {
  25.             foreach ($rules as $rule) {
  26.                 $this->$rule['type']($field, $rule['param']);
  27.             }
  28.         }
  29.     }
  30.  
  31.     private function min_len($field, $params) {
  32.         if (mb_strlen($this->_data[$field], 'utf8') > $params) {
  33.             $this->_errors[$field] = 'min_len error';
  34.             return FALSE;
  35.         }
  36.         return TRUE;
  37.     }
  38.  
  39.     private function max_len($field, $params) {
  40.         if (mb_strlen($this->_data[$field], 'utf8') < $params) {
  41.             $this->_errors[$field] = 'max_len error';
  42.             return FALSE;
  43.         }
  44.         return TRUE;
  45.     }
  46.  
  47.     private function required($field, $params = NULL) {
  48.         if ($this->_data[$field] == '') {
  49.             $this->_errors[$field] = 'required error';
  50.             return FALSE;
  51.         }
  52.         return TRUE;
  53.     }
  54.  
  55.     public function getErrors() {
  56.         return $this->_errors;
  57.     }
  58.  
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement