/** * @author Ed Spencer * @class Ext.data.Errors * @extends Ext.util.MixedCollection * *

Wraps a collection of validation error responses and provides convenient functions for * accessing and errors for specific fields.

* *

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:

*

//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'}]
*/ 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; } });