validation - Grails命令对象未验证

标签 validation grails groovy command-objects

我确定这是一个完全的菜鸟问题,并且我遗漏了一个公然的错误,但是无论如何这还是可行的。

我有一个命令对象:

public class LeadCommand {
    Integer OwnerId
    String FirstName
    String LastName
    String Email
    String Phone1
    String Company
    String StreetAddress1
    String City
    String State
    String PostalCode
    String Country
    String Leadsource

    static constraints = {
        OwnerId(blank: false)
        FirstName(blank: false)
        LastName(blank: false)
        Email(blank: false, email: true)
        Phone1(blank: false)
        Company(blank: false)
        StreetAddress1(blank: false)
        City(blank: false)
        State(blank: false)
        PostalCode(blank: false)
        Country(blank: false)
        Leadsource(blank: false)
    }
}

和 Controller Action :
def process = { LeadCommand cmd ->

    if (cmd.hasErrors()) {
        redirect(action: index)
    } else {
            // do stuff
    }
}

该命令对象正在填充,但是没有遵循我设置的验证约束。我已经阅读了几次文档,但是我一定缺少一些东西...

提前致谢

顺便说一句-我正在使用Grails 1.3.7

编辑:

以下是一些示例发布数据:(直接来自params map )
[Phone:, 
OwnerId:1, 
Country:United States, 
LastName:, 
City:, 
PostalCode:, 
State:, 
Email:, 
Leadsource:, 
FirstName:, 
Submit:Submit, 
Company:, 
StreetAddress1:, 
action:process, 
controller:leadEntry]

最佳答案

重命名命令属性,以使用驼峰大小写的标准Java命名约定,并以小写字母开头。 Grails大量使用这些约定,如果您不遵循它们,有时会中断。例如:

public class LeadCommand {
    Integer ownerId
    String firstName
    String lastName
    String email
    String phone1
    String company
    String streetAddress1
    String city
    String state
    String postalCode
    String country
    String leadsource

    static constraints = {
        ownerId(blank: false)
        firstName(blank: false)
        lastName(blank: false)
        email(blank: false, email: true)
        phone1(blank: false)
        company(blank: false)
        streetAddress1(blank: false)
        city(blank: false)
        state(blank: false)
        postalCode(blank: false)
        country(blank: false)
        leadsource(blank: false)
    }
}

关于validation - Grails命令对象未验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8479673/

相关文章:

tomcat - 无法运行 Web 应用程序,因为 Tomcat 无法打开 stacktrace.log

Grails Gorm 捕获外键约束错误

grails - Amazon Cloud Web Services上的Grails应用程序 session 数据错误

groovy - 为什么在 Groovy(版本 2.4.5)中调用 super 会错过父类?

java - 当用户输入字母字符时,Play 对数字字段进行验证

r - 交叉验证和提前停止

javascript - MVC 远程验证后调用函数

validation - 提交死亡白页

groovy - 如何使用groovy脚本从Json获取值

jenkins - 从控制台读取时在Jenkins中超时