int列上的Grails约束约束抛出java.lang.IllegalArgumentException

时间:2012-02-14 13:42:17

标签: validation grails constraints gorm

我对两个整数,得分和numOfQuestions有以下约束。

score blank:false, min:1, nullable:false, notEqual:null
numOfQuestions blank:false, min:1, nullable:false, notEqual:null

可以看出我希望这些字段大于0并且不应该为空或空白但不管我做什么,而不是显示友好的消息,如“属性不能为空”我的屏幕充满了长期例外...... 有没有其他方法来验证非空白输入的整数?

Failed to convert property value of type java.lang.String to required type int for property numOfQuestions; nested exception is java.lang.IllegalArgumentException: Cannot convert value of type [java.lang.String] to required type [int] for property numOfQuestions: PropertyEditor [org.springframework.beans.propertyeditors.CustomNumberEditor] returned inappropriate value of type [null]

我见过这个http://jira.grails.org/browse/GRAILS-4603,但没有多少帮助

1 个答案:

答案 0 :(得分:-1)

我认为你可以用以下方法替换上面的限制:

score min:1
numOfQuestions min:1

因为min:1暗示不为null。约束blank: false只能应用于String属性,因此您使用此约束时,数字属性可能会导致您看到的异常。