/** * Base class for date type validators. * * @abstract */Ext.define('Ext.data.validator.AbstractDate', { extend: 'Ext.data.validator.Validator', config: { /** * @cfg {String} message * The error message to return when not valid. * @locale */ message: null, /** * @cfg {String/String[]} format * The format(s) to allow. See {@link Ext.Date}. * @locale */ format: '' }, applyFormat: function(format) { if (!format) { format = this.getDefaultFormat(); } if (!Ext.isArray(format)) { format = [format]; } return format; }, parse: function(value) { if (Ext.isDate(value)) { return value; } /* eslint-disable-next-line vars-on-top */ var me = this, format = me.getFormat(), len = format.length, ret = null, i; for (i = 0; i < len && !ret; ++i) { ret = Ext.Date.parse(value, format[i], true); } return ret; }, validate: function(value) { return this.parse(value) ? true : this.getMessage(); }});