在Grails Domain中自动验证的i18n 实例讲解

Grails的Domain有自动验证的功能,但是我在Domain定义属性的时候,定义了一个int类型的字段,然后在页面输入的时候用的是String,这时他启动自动验证的功能,报以下验证信息

Failed to convert property value of type [java.lang.String] to required type [int] for property
age; nested exception is java.lang.IllegalArgumentException: Could not parse number: Unparseable number:
我就是想验证输入的一个Sting不能转换成int类型,给出一个信息提示。
  
然后我就打算在i18n中添加中文的国际化,但是我找了一下源码中出现该英文提示的地方,包括在路径org.codehaus.groovy.grails.validation.*下面的包我都找了个遍,都没找到,后来发现API中详细解释到i18n中的16中输入验证的以及一个自定义验证,maai1024的博客中也有该博文——Grails学习笔记2,发现不能通过这个配置来验证,最后发现在i18n的文件夹下的messages.properties的配置文件中有
   typeMismatch.java.lang.Integer=Property {0} must be a valid number

   顾名思义就是类型不匹配的时候报的消息提示,我果断将int换成Integer,这样就可以换成中文的提示了。

你可能感兴趣的:(java,十全十美)