Sha256: 62b473e79ce5727c94ce40d71e9413df1b15afb3f25d3a609d617ca607c31344

Contents?: true

Size: 1.3 KB

Versions: 30

Compression:

Stored size: 1.3 KB

Contents

angular.module("oxymoron.services.validate", [])
  .factory('Validate', [function(){
    return function (form, errors){
      try {
        var $form = angular.element(document.querySelector('[name="'+form+'"]')).scope()[form];
      } catch(e) {
        var $form = {};
      }

      angular
        .element(document.querySelectorAll('.rails-errors')).remove();

      angular.forEach($form, function(ctrl, name) {
        if (name.indexOf('$') != 0) {
          angular.forEach(ctrl.$error, function(value, name) {
            ctrl.$setValidity(name, null);
          });
        }
      });


      angular.forEach(errors, function(errors_array, key) {
        var form_key = form+'['+key+']';
        try {
          if ($form[form_key]) {
            $form[form_key].$setTouched();
            $form[form_key].$setDirty();
            $form[form_key].$setValidity('server', false);
          }
          
          angular
            .element(document.querySelector('[name="'+form_key+'"]'))
            .parent()
            .append('<div class="rails-errors" ng-messages="'+form_key+'.$error"><div ng-message="server">'+errors_array[0]+'</div></div>')
        } catch(e) {
          console.log(e)
          console.warn('Element with name ' + form_key + ' not found for validation.')
        }
      });
    };
  }])

Version data entries

30 entries across 30 versions & 1 rubygems

Version Path
oxymoron-1.2.8 app/assets/javascripts/oxymoron/services/validate.js
oxymoron-1.2.7 app/assets/javascripts/oxymoron/services/validate.js
oxymoron-1.2.6 app/assets/javascripts/oxymoron/services/validate.js
oxymoron-1.2.5 app/assets/javascripts/oxymoron/services/validate.js
oxymoron-1.2.4 app/assets/javascripts/oxymoron/services/validate.js
oxymoron-1.2.3 app/assets/javascripts/oxymoron/services/validate.js
oxymoron-1.2.2 app/assets/javascripts/oxymoron/services/validate.js
oxymoron-1.2.1 app/assets/javascripts/oxymoron/services/validate.js
oxymoron-1.2.0 app/assets/javascripts/oxymoron/services/validate.js
oxymoron-1.1.9 app/assets/javascripts/oxymoron/services/validate.js
oxymoron-1.1.8 app/assets/javascripts/oxymoron/services/validate.js
oxymoron-1.1.7 app/assets/javascripts/oxymoron/services/validate.js
oxymoron-1.1.6 app/assets/javascripts/oxymoron/services/validate.js
oxymoron-1.1.5 app/assets/javascripts/oxymoron/services/validate.js
oxymoron-1.1.4 app/assets/javascripts/oxymoron/services/validate.js
oxymoron-1.1.3 app/assets/javascripts/oxymoron/services/validate.js
oxymoron-1.1.2 app/assets/javascripts/oxymoron/services/validate.js
oxymoron-1.1.1 app/assets/javascripts/oxymoron/services/validate.js
oxymoron-1.1.0 app/assets/javascripts/oxymoron/services/validate.js
oxymoron-1.0.10 app/assets/javascripts/oxymoron/services/validate.js