userFunction = $userFunction; $this->additionalArguments = $additionalArguments; $this->complementReturn = $complementReturn; } /** * Check if field value is valid. * Value is valid if it is empty and optional or validated by user-supplied function. * @return boolean */ function isValid() { if ($this->isEmptyAndOptional($this->form->getData($this->field))) { return true; } else { $ret = call_user_func_array($this->userFunction, array_merge(array($this->form->getData($this->field)), $this->additionalArguments)); return $this->complementReturn ? !$ret : $ret; } } } ?>