Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在wicket文本字段中仅允许整数_Java_Wicket_Wicketstuff_Wicket 7 - Fatal编程技术网

Java 在wicket文本字段中仅允许整数

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

我正在Wicket 7中使用NumberTextField,我的要求如下

  • 用户应该只能在文本字段中输入一个完整的数字字符,既不能输入十进制值,也不能输入任何非数字字符
  • 字符长度不应超过3个字符

  • 但是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是服务器端框架,上述建议仅用于在存储前验证发送到服务器的数据是否有效它将被发送到数据库或执行业务逻辑。