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'
}
在原始代码中,您重定向到创建
,并且不向其中传递任何模型好吧,谢谢:-)您为我节省了几个小时)