hasErrors 
Purpose
Checks whether a bean, request scope, or model reference has any errors and if it does invokes the body of the tag. Typically used in conjunction with either eachError or renderErrors
Examples
Checks whether there are any errors for any bean throughout the request scope:<g:hasErrors>
    <g:eachError><p>${it.defaultMessage}</p></g:eachError>
</g:hasErrors><g:hasErrors bean="${book}">
    <g:eachError><p>${it.defaultMessage}</p></g:eachError>
</g:hasErrors><g:hasErrors bean="${book}" field="title">
    <div class="errors">
       <g:renderErrors bean="${book}" field="title" as="list" />
    </div>
</g:hasErrors><div class="prop ${hasErrors(bean:user,field:'login', 'errors')}">
    <label for="login"><input type="text" name="login" />
</div>Description
Attributes
- bean(optional) - The bean to check for errors
- model(optional) - The name of the model reference to check for errors
- field(optional) - Check if a field of the bean or model reference has errors
Source
Show Source
def hasErrors = {attrs, body ->
        def errorsList = extractErrors(attrs)
        if(errorsList) {
            out << body()
        }
    }