grails-在gsp上显示验证错误消息

grails-在gsp上显示验证错误消息,grails,grails-domain-class,grails-controller,Grails,Grails Domain Class,Grails Controller,我有以下域类: class User { String name String contactName String primaryEmail String url String phoneNumber String address static hasMany = [users: User] static constraints = { name blank: false contactNam

我有以下域类:

class User {

    String name
    String contactName
    String primaryEmail
    String url
    String phoneNumber
    String address

    static hasMany = [users: User]

    static constraints = {
        name blank: false
        contactName blank: false
        primaryEmail email: true
        url blank: false
        phoneNumber blank: false
        address blank: false
    }
}
和用户的控制器:

class UserController {

    def create() {
        User user = new User()
        [user: user]
    }

    def save(User user) {
        if (!user.save(flush: true)) {
            render (view : 'create', model: [user: user])
        }

        redirect action: 'create'
    }
}
我想显示验证错误,以防验证失败。我的create.gsp如下所示:

<body>
<g:form action="save" >
    <g:renderErrors bean="${user}"/>
    <g:textField name="user.name" id="message" value="${user.name}"/>
    <g:textField name="user.contactName" id="contactName" value="${user.contactName}"/>
    <g:textField name="user.primaryEmail" id="primaryEmail" value="${user.primaryEmail}"/>
    <g:textField name="user.url" id="url" value="${user.url}"/>
    <g:textField name="user.phoneNumber" id="phoneNumber" value="${user.phoneNumber}"/>
    <g:textField name="user.address" id="address" value="${user.address}"/>

    <g:submitButton name="submit" value="Save"/>
</g:form>

</body>
</html>

但是在create.gsp的sumbit和无效数据之后,发生了两件奇怪的事情 1) 尽管所有字段都有映射到用户bean的某个字段的value属性,但所有字段都是空的

2) 页面上没有验证错误 我做错了什么?
谢谢大家!

调用
render()
或使用
else

def save(User user) {
    if (!user.save(flush: true)) {
        render (view : 'create', model: [user: user])
        return // either return here
    }else // or else here

    redirect action: 'create'
}
在原始代码中,您重定向到
创建
,并且不向其中传递任何模型

好吧,谢谢:-)您为我节省了几个小时)