Class Errors
| Extends: | ArrayProxy |
|---|---|
| Uses: | Evented |
| Defined in: | ../model/addon/-private/errors.js:13 |
| Module: | @ember-data/store |
add (attribute, messages)
| Module: | @ember-data/store |
|---|
Defined in ../model/addon/-private/errors.js:199
- attribute
- String
- - the property name of an attribute or relationship
- messages
- String[]|string
- - an error message or array of error messages for the attribute
Manually adds errors to the record. This will trigger the becameInvalid event/ lifecycle method on the record and transition the record into an invalid state.
Example
let errors = get(user, 'errors');
// add multiple errors
errors.add('password', [
'Must be at least 12 characters',
'Must contain at least one symbol',
'Cannot contain your name'
]);
errors.errorsFor('password');
// =>
// [
// { attribute: 'password', message: 'Must be at least 12 characters' },
// { attribute: 'password', message: 'Must contain at least one symbol' },
// { attribute: 'password', message: 'Cannot contain your name' },
// ]
// add a single error
errors.add('username', 'This field is required');
errors.errorsFor('password');
// =>
// [
// { attribute: 'username', message: 'This field is required' },
// ] errorsFor (attribute) Array
| Module: | @ember-data/store |
|---|
Defined in ../model/addon/-private/errors.js:109
- attribute
- String
- returns
- Array
Returns errors for a given attribute
let user = store.createRecord('user', {
username: 'tomster',
email: 'invalidEmail'
});
user.save().catch(function(){
user.get('errors').errorsFor('email'); // returns:
// [{attribute: "email", message: "Doesn't look like a valid email."}]
}); has (attribute) Boolean
| Module: | @ember-data/store |
|---|
Defined in ../model/addon/-private/errors.js:435
- attribute
- String
- returns
- Boolean
- true if there some errors on given attribute
Checks if there are error messages for the given attribute.
app/controllers/user/edit.jsimport Controller from '@ember/controller';
import { action } from '@ember/object';
export default class UserEditController extends Controller {
@action
save(user) {
if (user.get('errors').has('email')) {
return alert('Please update your email before attempting to save.');
}
user.save();
}
} remove (member)
| Module: | @ember-data/store |
|---|
Defined in ../model/addon/-private/errors.js:288
- member
- String
- - the property name of an attribute or relationship
Manually removes all errors for a given member from the record. This will transition the record into a valid state, and triggers the becameValid event and lifecycle method.
Example:
let errors = get('user', errors);
errors.add('phone', ['error-1', 'error-2']);
errors.errorsFor('phone');
// =>
// [
// { attribute: 'phone', message: 'error-1' },
// { attribute: 'phone', message: 'error-2' },
// ]
errors.remove('phone');
errors.errorsFor('phone');
// => undefined
© 2020 Yehuda Katz, Tom Dale and Ember.js contributors
Licensed under the MIT License.
https://api.emberjs.com/ember-data/3.25/classes/Errors/methods