【发布时间】:2018-02-06 10:53:51
【问题描述】:
我在 Wicket 7 中使用 NumberTextField,我的要求是
- 用户应该只能在文本字段中输入一个完整的数字字符,不能输入十进制值或任何非数字字符。
- char 的长度不应超过 3 个字符。
但 NumberTextField 允许用户输入十进制值。如何限制 Wicket 7 中 NumberTextField 的长度。
【问题讨论】:
标签: java wicket wicketstuff wicket-7
我在 Wicket 7 中使用 NumberTextField,我的要求是
但 NumberTextField 允许用户输入十进制值。如何限制 Wicket 7 中 NumberTextField 的长度。
【问题讨论】:
标签: java wicket wicketstuff wicket-7
您需要设置字段的type。您可以在构造函数中执行此操作:NumberTextField(String id, IModel model, Class type) 或通过 setter:field.setType(Integer.class)。
然后您可以为允许的值添加验证器:field.add(RangeValidator.range(0, 999)。
如果您需要在客户端进行相同的验证,那么您将需要使用 JavaScript 验证库。你可以查看https://github.com/code-troopers/wicket-jsr303-parsley和博客:http://wicketinaction.com/2013/04/server-and-client-side-validation/
【讨论】:
RangeValidator 我宁愿使用现有方法setMinimum 和setMaximum,这将在输入中添加RangeValidator 以及相应的html5 属性.