我有以下域类和gsp,似乎无法在客户端gsp端进行验证。
域类:
class User {
String username
String password
String emailAddress
static hasMany = [memberships: Membership]
}
表格gsp:
<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>
有什么我错过的吗?
答案 0 :(得分:1)
您应该使用内置的Taglib渲染字段。不要使用标准HTML。这样,您就可以让Grails根据您的域类确定约束。
您未指定正在运行的Grails版本:
最新版本3.3.x使用字段插件,请参阅https://grails-fields-plugin.github.io/grails-fields/latest/ref/Tags/field.html
// comments.component.html
<div *ngFor="let comment of comments | async" class="col-md-7">
<ul class="list-group">
<li class="list-group-item">Author: {{comment.author}}</li>
<li class="list-group-item">Comments: {{comment.description}}</li>
</ul>
<br>
</div>
或仅使用此
<f:field bean="user" property="username"/>
<f:field bean="user" property="password" />
<f:field bean="user" property="emailAddress"/>
将呈现用户的所有属性。
确保更新您的域并包括以下约束
<f:all bean="user"/>
其他约束也是可能的。请参阅https://docs.grails.org/latest/ref/Constraints/Usage.html
在较旧版本的grails中,请参阅https://grails.github.io/grails2-doc/2.4.3/ref/Tags/field.html
static constraints = {
password password: true
}