error_list = $error_list; } /** * Returns list of errors. * Creates an empty lmbErrorList if error list is NULL * @return lmbErrorList */ function getErrorList() { if(!$this->error_list) $this->error_list = new lmbErrorList(); return $this->error_list; } /** * Sets new list of errors * @return void */ function setErrorList($error_list) { return $this->error_list = $error_list; } /** * Adds a new rule * @return void */ function addRule($rule) { $this->rules[] = $rule; } /** * Alias for adding lmbRequiredRule to validator * @return void */ function addRequiredRule($field, $custom_error = '') { $this->addRule(new lmbHandle('limb/validation/src/rule/lmbRequiredRule', array($field, $custom_error))); } function addAtLeastOneRequiredRule($fields, $custom_error = '') { $this->addRule(new lmbHandle('limb/validation/src/rule/lmbAtleastOneFieldRequiredRule', array($fields, $custom_error))); } /** * Alias for adding lmbRequiredObjectRule to validator * @return void */ function addRequiredObjectRule($field, $class = null, $custom_error = '') { $this->addRule(new lmbHandle('limb/validation/src/rule/lmbRequiredObjectRule', array($field, $class, $custom_error))); } /** * Alias for adding lmbSizeRangeRule to validator * @return void */ function addSizeRangeRule($field, $min_or_max_length, $max_length = NULL, $custom_error = '') { $this->addRule(new lmbHandle('limb/validation/src/rule/lmbSizeRangeRule', array($field, $min_or_max_length, $max_length, $custom_error))); } /** * @return boolean TRUE if list of errors is empty */ function isValid() { return $this->getErrorList()->isValid(); } /** * Performs validation * Passes datasource and list of errors to every validation rule * @param lmbSetInterface Datasource to validate * @return boolean True if valid */ function validate($datasource) { foreach($this->rules as $rule) $rule->validate($datasource, $this->getErrorList()); return $this->isValid(); } } ?>