/** * Set field validator * * @param FormElement $formField * @param array $question */ protected function addFieldValidator($formField, $question) { if ((string) $question['base'] === '1') { if ($question['name'] === 'email') { $formField->addValidator(new editEmailValidator($this->userId)); } else { if ($question['name'] === 'username') { $formField->addValidator(new editUserNameValidator($this->userId)); } } } return $formField; }
public function addValidator($validator) { if ($validator instanceof CaptchaValidator) { $validator->setJsObjectName($this->jsObjectName); } return parent::addValidator($validator); }
/** * Binds FormValidators to a FormElement field * * accepts an array in this format : * array('fieldName' => array( * 0 => array( * 'class' => 'validatorClass', * 'options' => array('key' => 'value') * ), * 1 => array( * 'class' => 'validatorClass', * 'options' => array('key' => 'value') * ), * ) * ); */ public function setValidators(FormElement $element, array $validators) { foreach ($validators as $field => $validations) { if ($field === $element->getName()) { foreach ($validations as $validation) { $classname = $validation['class'] . 'FormElementValidator'; if (!class_exists($classname)) { throw new FormException('Validation classname "' . $classname . '" should be a valid validator class'); } $validator = new $classname($element); if (isset($validation['options']) && is_array($validation['options']) && count($validation['options'])) { $validator->setOptions($validation['options']); } $element->addValidator($validator); } } } }