/**
 * Validates that the length of the value is between a {@link #min} and {@link #max}.
 */
Ext.define('Ext.data.validator.Length', {
    extend: 'Ext.data.validator.Bound',
    alias: 'data.validator.length',
 
    type: 'length',
 
    /**
     * @cfg {Number} min
     * The minimum length value.
     */
 
    /**
     * @cfg {Number} max
     * The maximum length value.
     */
 
    /**
     * @cfg {String} minOnlyMessage
     * The error message to return when the value is less than the minimum
     * length and only a minimum is specified.
     * @locale
     */
    minOnlyMessage: 'Length must be at least {0}',
 
    /**
     * @cfg {String} maxOnlyMessage
     * The error message to return when the value is more than the maximum
     * length and only a maximum is specified.
     * @locale
     */
    maxOnlyMessage: 'Length must be no more than {0}',
 
    /**
     * @cfg {String} bothMessage
     * The error message to return when the value length is not in the specified
     * range and both the minimum and maximum are specified.
     * @locale
     */
    bothMessage: 'Length must be between {0} and {1}',
 
    getValue: function(v) {
        return String(v).length;
    }
});