【问题标题】:user-defined form validation in grailsgrails中用户定义的表单验证
【发布时间】:2012-08-11 09:32:11
【问题描述】:

我正在通过一些示例程序来学习 grails。
我想知道如何使用 grails 验证用户定义的表单。
我的代码是:

领域类

class User
{
    String property

    static constraints = 
    {
        property(blank:false,nullable:false)
    }
}

控制器类

def addUser() {

}

def userPrint() {
      def values = request.getParameterValues("property")
      for(val in values){
         println "values received :"+val
      }
}

addUser.gsp

<html>
<head>
<title>Users</title>
</head>
<body>
<g:form name="useraddform" url="[controller:'user',action:'userPrint']">
<table>
<tr>
<td>Username :</td>
<td><g:textField name="property" value=""/></td>
</tr>
<tr>
<td>Password : </td>
<td><g:textField name="property" value=""/></td>
</tr>
</table>
<input type="submit" value="ADD"/>
</g:form>
</body>
</html>

我需要验证输入的用户名和密码。
如何做到这一点???
请帮忙....!

【问题讨论】:

  • 投反对票,因为该问题缺乏必要的研究..

标签: grails validation


【解决方案1】:

请阅读constraints 手册部分和整个web layer 章节。

另外,在其他示例项目上运行 grails generate-all 并查看脚手架 GSP 内容,尤其是 hasErrors 标记/函数。

【讨论】:

  • 我已经浏览了与 grails 验证相关的所有链接,但我找不到如何映射字段并对其进行验证...请告诉我如何验证我提到的字段。
  • 请同时运行grails generate-all的进程,检查每个新结构并再次参考章节。
  • 我通过了,现在正在验证。但是有一个问题。我在同名“属性”中获得了用户名和密码字段。在我的控制器中,我将属性作为数组获取。验证时不验证此数组。我该怎么办。
  • 然后 1. 将name="property" 更改为name="email"name="password"。 2. 从addUser 操作返回一些模型,例如:def addUser() { [userInstance: new User()] }。 3. 添加g:hasErrors标签和hasErrors函数输入样式。 4. 坦白说,你真的按照我推荐的步骤去做了吗?
  • 不好意思再问。但我的要求是我必须以相同的名称“属性”获取用户名和密码字段。如果我没有为这些字段提供值,则默认情况下会采用 [,,] 之类的值,因此验证为真。我该怎么办???
猜你喜欢
  • 1970-01-01
  • 2014-08-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多