The Grails Framework 4.0.3

(Quick Reference) ## errors ### Purpose An instance of the Spring Errors interface containing data binding and/or validation errors. ### Examples
    def user = new User(params)

    if (user.validate()) {
        // do something with user
    }
    else {
        user.errors.allErrors.each {
            println it
        }
    }
### Description The `errors` property is used by Grails during data binding to store type conversion errors and during validation when calling the validate or save methods. You can also add your own errors using the reject and rejectValue methods:
    if (params.password != params.confirm_password) {

        user.errors.reject(
            'user.password.doesnotmatch',
            ['password', 'class User'] as Object[],
            '[Property [{0}] of class [{1}] does not match confirmation]')

        // The following helps with field highlighting in your view
        user.errors.rejectValue(
            'password',
            'user.password.doesnotmatch')

        render(view: 'signup', model: [user: user])
    }
In the example of `reject` above, `'user.password.doesnotmatch'`, is the error code corresponding to a value in `grails-app/i18n/message.properties`, `\['password', 'class User'\] as Object\[\]` is a Groovy cast from a `List` to an `Object` array to match the expected signature, and `'\[Property \[{0}\] of class \[{1}\] does not match confirmation\]'` is the default mapping string. In the `rejectValue` example, `'password'` is the field in the view to highlight using a `<g:hasErrors>` tag and `'user.password.doesnotmatch'` is the i18n error code. | Quick Reference (hide)