Grails Domain自动验证的i18n

本文介绍了如何在Grails应用中处理类型不匹配导致的自动验证错误,并通过配置实现中文提示信息。通过修改i18n配置文件中的消息提示,开发者可以针对不同情况定制验证失败时的用户反馈。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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,这样就可以换成中文的提示了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值