Beispiel #1
0
 /**
  * 
  * @param array $element
  * @return array
  */
 public static function addValidation($element)
 {
     $validations = parent::addValidation($element);
     $resolveUrl = Di::getDefault()->get('router')->getPathFor('/validator/resolvedns');
     $validations['eventValidation']['extraJs'] = '$("#' . $element['name'] . '_resolve_dns").on("click", function(){
             $.ajax({
                 url: "' . $resolveUrl . '",
                 type: "POST",
                 data: {"dnsname":$("#' . $element['name'] . '").val()},
                 dataType: "json",
                 context: document.body
             })
             .success(function(data, status, jqxhr) {
                 alertClose();
                 if (data["success"]) {
                     $("#' . $element['name'] . '").val(data["value"]);
                     $("#' . $element['name'] . '").trigger("blur");
                 } else {
                     alertMessage(data["error"], "alert-danger");
                 }
             });
         });';
     $validations['eventValidation'][$element['name']] = array('ipaddress' => array());
     return $validations;
 }
Beispiel #2
0
 /**
  * 
  * @param array $element
  * @return array
  */
 public static function addValidation($element)
 {
     $validations = parent::addValidation($element);
     $validationUrl = Di::getDefault()->get('router')->getPathFor('/validator/email');
     $validations['eventValidation'] .= ' $("#' . $element['name'] . '").on("blur", function() {
                 $.ajax({
                     url: "' . $validationUrl . '",
                     type: "POST",
                     data: {"email":$("#' . $element['name'] . '").val()},
                     context: document.body
                 })
                 .success(function(data, status, jqxhr) {
                     if (data.success) {
                         $("#' . $element['name'] . '_email").removeClass("has-error has-feedback");
                         $("#' . $element['name'] . '_email_span").removeClass("glyphicon glyphicon-remove form-control-feedback");
                         $("#' . $element['name'] . '_email").addClass("has-success has-feedback");
                         $("#' . $element['name'] . '_email_span").addClass("glyphicon glyphicon-ok form-control-feedback");    
                     } else {
                         $("#' . $element['name'] . '_email").removeClass("has-error has-feedback");
                         $("#' . $element['name'] . '_email_span").removeClass("glyphicon glyphicon-ok form-control-feedback");
                         $("#' . $element['name'] . '_email").addClass("has-error has-feedback");
                         $("#' . $element['name'] . '_email_span").addClass("glyphicon glyphicon-remove form-control-feedback"); 
                     }
                 });
             });';
     return $validations;
 }
Beispiel #3
0
 /**
  * 
  * @param array $element
  */
 private function renderAsHtml(&$element)
 {
     switch ($element['type']) {
         default:
             $element['input'] = $this->renderHtmlTextarea($element);
             $element['label'] = $this->renderHtmlLabel($element);
             $element['html'] = $this->renderFinalHtml($element);
             break;
         case 'button':
         case 'submit':
         case 'reset':
             $element['input'] = $this->renderHtmlButton($element);
             $element['label'] = "";
             $element['html'] = $this->renderFinalHtml($element);
             break;
         case 'radio':
             $element['input'] = $this->renderHtmlRadio($element);
             $element['label'] = "";
             $element['html'] = $this->renderFinalHtml($element);
             break;
         case 'checkbox':
             $element['input'] = $this->renderHtmlCheckbox($element);
             $element['label'] = "";
             $element['html'] = $this->renderFinalHtml($element);
             break;
         case 'static':
             $className = Component::parseComponentName($element['label_type']);
             if (class_exists($className) && method_exists($className, 'renderHtmlInput')) {
                 $element['label'] = $element['label_label'];
                 $in = $className::renderHtmlInput($element);
                 $inVal = $className::addValidation($element);
                 if (isset($in['html'])) {
                     $element['input'] = $in['html'];
                 }
                 if (isset($in['css'])) {
                     $element['css'] = $in['css'];
                 }
                 if (isset($in['extrahtml'])) {
                     $element['extrahtml'] = $in['extrahtml'];
                 }
                 $element['label'] = $this->renderHtmlLabel($element);
                 $element['html'] = $this->renderFinalHtml($element);
                 if (isset($in['js'])) {
                     $this->tpl->addCustomJs($in['js']);
                 }
                 if (isset($inVal['eventValidation'])) {
                     if (isset($inVal['eventValidation']['extraJs'])) {
                         $this->eventValidation['extraJs'] .= $inVal['eventValidation']['extraJs'];
                         unset($inVal['eventValidation']['extraJs']);
                     }
                     $this->eventValidation['validators'] = array_merge($this->eventValidation['validators'], $inVal['eventValidation']);
                 }
                 if (isset($inVal['submitValidation'])) {
                     $this->submitValidation .= $inVal['submitValidation'];
                 }
             }
             break;
     }
 }