validation - 用户定义的表格验证

标签 validation grails

我想验证三个表单字段。
通常的方法是这样的:

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>

如何验证此表格???

最佳答案

给将要映射到同一域类中不同属性的表单中的输入字段使用相同的名称是一种非常糟糕的做法。
但是,如果您不能这样做,这些字段将作为列表发送到您的 Controller 。因此,您可以像这样在 Controller 中提取值:
def parameterList = params.property as Listdef name = parameterList[0]def password = parameterList[1]def personalInfo = parameterList[2]
然后,您可以创建您的User对象def user = new User(name:name, personalInfo:personalInfo, password:password)if (user.save()){ } else{ }
作为最佳实践,您必须以不同的形式命名字段

关于validation - 用户定义的表格验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12067318/

相关文章:

validation - 注释约束后如何应用 JSF 验证器?

javascript - 当所有字段都有效时jquery验证启用表单: do no show error for empty fileds

validation - 如何检查属性是否在Groovy中包含空格?

grails - 在 Grails 中注入(inject) grails-app 类

tomcat - 在 Tomcat 服务器上的 Grails-Jasper 上运行报告时找不到类错误

grails - 在域类中初始化二维数组

javascript - jquery form.validate 条件要求

javascript - js 表单验证错误 : Uncaught ReferenceError

java - Struts2 验证条件

Grails/GORM 默认获取策略 : When to set fetchMode to "eager"?(急切与懒惰)