diff --git a/www/js/directives.js b/www/js/directives.js index c1b6c8daa54d0bbc611314d35c1273cb089cd8e7..ee0a5b4562839850377e074f632d29755680fdce 100644 --- a/www/js/directives.js +++ b/www/js/directives.js @@ -47,6 +47,20 @@ angular.module('cesium') }; }) + .directive('email', function() { + var EMAIL_REGEXP = new RegExp('^[a-z0-9!#$%&\'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&\'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$'); + return { + require: 'ngModel', + link: function(scope, element, attrs, ngModel) { + if (ngModel) { + ngModel.$validators.email = function (value) { + return ngModel.$isEmpty(value) || EMAIL_REGEXP.test(value); + }; + } + } + }; + }) + // Add a copy-on-click directive .directive('copyOnClick', function ($window, $document, Device, UIUtils) { 'ngInject';