我想验证三个表单字段
通常的方法是这样的:
class User {
String name
String password
String personalInfo
static constraints = {
name(size: 4..20, unique:true, blank:false)
password(size:8..20, blank:false)
personalInfo(size: 1000, nullable:true)
}
}
但是在我的gsp中,我将使用相同名称的所有三个文本字段 例如:
<td>Name:</td><td><g:textfield name="property"/></td>
<td>Password:</td><td><g:textfield name="property"/></td>
<td>PersonalInfo:</td><td><g:textfield name="property"/></td>
如何验证此表格????
答案 0 :(得分:2)
将一个相同的名称赋予表单中的输入字段是一个非常糟糕的做法,这些字段将映射到同一域类中的不同属性。
但是如果你不能,那么这些字段将作为列表发送给你的控制器。因此,您可以在控制器中提取值,如下所示:
def parameterList = params.property as List
def name = parameterList[0]
def password = parameterList[1]
def personalInfo = parameterList[2]
然后,您可以创建用户对象
def user = new User(name:name, personalInfo:personalInfo, password:password)
if (user.save()){ } else{ }
作为最佳做法,您必须以不同的格式为字段命名