Java 在wicket文本字段中仅允许整数
我正在Wicket 7中使用NumberTextField,我的要求如下Java 在wicket文本字段中仅允许整数,java,wicket,wicketstuff,wicket-7,Java,Wicket,Wicketstuff,Wicket 7,我正在Wicket 7中使用NumberTextField,我的要求如下 用户应该只能在文本字段中输入一个完整的数字字符,既不能输入十进制值,也不能输入任何非数字字符 字符长度不应超过3个字符 但是NumberTextField允许用户输入十进制值。如何限制Wicket 7中NumberTextField的长度 您需要设置字段的类型。您可以在构造函数:NumberTextField(字符串id,IModel模型,类类型)中或通过setter:field.setType(Integer.Class
但是NumberTextField允许用户输入十进制值。如何限制Wicket 7中NumberTextField的长度 您需要设置字段的
类型。您可以在构造函数:NumberTextField(字符串id,IModel模型,类类型)中或通过setter:field.setType(Integer.Class)执行此操作
然后,您可以为允许的值添加验证器:field.add(RangeValidator.range(0999)
如果您需要在客户端进行相同的验证,那么您将需要使用JavaScript验证库。您可以查看和博客:中的NumberExtField,而不是自己添加RangeValidator
,我宁愿使用现有的方法setMinimum
和setMaximum
,这将添加R为输入和相应的html5属性设置验证程序。@martin-g用户可以输入十进制值。为了防止在输入字段中输入十进制值,您应该使用JavaScript插件,如。Wicket是服务器端框架,上述建议仅用于在存储前验证发送到服务器的数据是否有效它将被发送到数据库或执行业务逻辑。