Errors.js
1.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
/**
* @author Ed Spencer
* @class Ext.data.Errors
*
* <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', message: 'must be present'}]
errors.getByField('title'); // [{field: 'title', message: '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 {Object[]} 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;
}
});