yaltik_odoo_custom/web_widget_email_check/static/src/js/web_widget_email_check.js

42 lines
1.3 KiB
JavaScript

/*
* Copyright 2017 Fabien Bourgeois <fabien@yaltik.com>
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or (at your
* option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public
* License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/* global odoo */
odoo.define('web.web_widget_email_check', function(require) {
'use strict';
var core = require('web.core');
var widget = require('web.form_widgets');
var reEmail = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
widget.FieldEmail.include({
is_syntax_valid: function () {
if (this.$input) {
var val = this.$input.val() || '';
return ((val.length === 0) || reEmail.test(val));
} else {
return true;
}
}
});
return { FieldEmail: widget.FieldEmail };
});