客户机上的Grails表单验证
我有以下域类和gsp,似乎无法在客户端gsp端进行验证 域类:客户机上的Grails表单验证,grails,gorm,Grails,Gorm,我有以下域类和gsp,似乎无法在客户端gsp端进行验证 域类: class User { String username String password String emailAddress static hasMany = [memberships: Membership] } 普惠制表格: <div class="error-details"> <g:hasErrors bean="${user}"> <ul>
class User {
String username
String password
String emailAddress
static hasMany = [memberships: Membership]
}
普惠制表格:
<div class="error-details">
<g:hasErrors bean="${user}">
<ul>
<g:eachError var="err" bean="${user}">
<li>${err}</li>
</g:eachError>
</ul>
</g:hasErrors>
</div>
<form action="${raw(createLink(controller:'purchase', action:
'createSubscription'))}" method="POST">
<input type="text" name="username">
<input type="text" name="password">
<input type="text" name="emailAddress">
</form>
有什么我遗漏的吗?您应该使用内置标记库来渲染字段。不要使用标准HTML。通过这种方式,您可以允许Grails根据您的域类确定约束 您没有指定正在运行的grails版本: 最新版本3.3.x使用字段插件,请参见 可能存在其他限制。请看 在旧版本的grails中,请参见
在gsp中使用逻辑通常不是一个好的做法。您应该在控制器端使用验证,并将结果准确地传递给gsphow验证不起作用?您可能应该创建一个新的Grails项目,创建此用户域,并在Grails命令行中执行“generate all”以查看它是如何完成的。裁判:
<f:field bean="user" property="username"/>
<f:field bean="user" property="password" />
<f:field bean="user" property="emailAddress"/>
<f:all bean="user"/>
static constraints = {
password password: true
}
<g:field type="text" name="username" value="${userInstance?.username}"/>
<g:field type="password" name="password" value="${userInstance?.password}"/>
<g:field type="text" name="username" value="${userInstance?.username}"/>