From e57e46ae4843c49c48cbaaa00df0569cc60be4bb Mon Sep 17 00:00:00 2001 From: blavenie <benoit.lavenier@e-is.pro> Date: Fri, 7 Apr 2017 12:14:26 +0200 Subject: [PATCH] [enh] Add new directive for email validation --- www/js/directives.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/www/js/directives.js b/www/js/directives.js index c1b6c8da..ee0a5b45 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'; -- GitLab