/** * @author Ed Spencer * @class Ext.data.Errors * @extends Ext.util.MixedCollection * * <p>Wraps a collection of validation error responses and provides convenient functions for * accessing and errors for specific fields.</p> * * <p>Usually this class does not need to be instantiated directly - instances are instead created * automatically when {@link Ext.data.Model#validate validate} on a model instance:</p> * <pre><code> //validate some existing model instance - in this case it returned 2 failures messages var errors = myModel.validate(); errors.isValid(); //false errors.length; //2 errors.getByField('name'); // [{field: 'name', error: 'must be present'}] errors.getByField('title'); // [{field: 'title', error: 'is too short'}] </code></pre> */ Ext.define('Ext.data.Errors', { extend: 'Ext.util.MixedCollection', /** * Returns true if there are no errors in the collection * @return {Boolean} */ isValid: function() { return this.length === 0; }, /** * Returns all of the errors for the given field * @param {String} fieldName The field to get errors for * @return {Array} All errors for the given field */ getByField: function(fieldName) { var errors = [], error, field, i; for (i = 0; i < this.length; i++) { error = this.items[i]; if (error.field == fieldName) { errors.push(error); } } return errors; } });