我有一个域类:

class Test {
    Integer blah
}

以及散乱的 Controller 和 View 。用无效的blah(Integer1a)在表单中填充ab会使验证失败,但不会使用无效的用户输入来重新填充文本框。

我想我理解为什么会发生这种情况(传递回gsp进行渲染的域实例的blah不能包含字母字符,因为它是Integer),但是有一种不错的方法来用无效输入重新填充表单吗?

有两种解决方案:使用带有正则表达式验证器的 transient String blah来确保输入为数字,然后重写Integer blah getter以获取String blah值。然后在表单上显示String blah。或者给每个HTML5兼容的浏览器提供type=number的功能:)

有解决此问题的更好方法吗?

最佳答案

如果在创建或保存域对象时出错,您是否不能将params对象返回到 View ,如果存在则重新填充该输入?

关于grails - 整数验证-不重新显示用户输入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9458422/

10-13 07:18