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