コード例 #1
0
 /**
  * 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;
 }
コード例 #2
0
ファイル: form_element.php プロジェクト: vBulleteen/oxwall
 public function addValidator($validator)
 {
     if ($validator instanceof CaptchaValidator) {
         $validator->setJsObjectName($this->jsObjectName);
     }
     return parent::addValidator($validator);
 }
コード例 #3
0
ファイル: Form.php プロジェクト: bachkoutou/Simple-MVC
 /**
  * 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);
             }
         }
     }
 }