【发布时间】:2014-07-09 13:11:39
【问题描述】:
我有以下域类:
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) 尽管所有字段都具有映射到 User bean 的某些字段的 value 属性,但所有字段都是空的
2) 页面上没有验证错误 我做错了什么? 谢谢!
【问题讨论】:
标签: grails grails-domain-class grails-controller