Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.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
Sapui5 sap.m.Input仅允许正整数值_Sapui5 - Fatal编程技术网

Sapui5 sap.m.Input仅允许正整数值

Sapui5 sap.m.Input仅允许正整数值,sapui5,Sapui5,我需要拒绝sap.m.Input控件除整数值以外的任何输入。因此in input只能输入0-9,没有任何符号(+-)或任何十进制分隔符。我找不到好的解决办法。视图是以XML格式声明的,最好的方法是在可能的情况下使用附加参数更改此XML 可能的解决办法: 第一个单写自定义格式化程序 第二种方法-尝试找到一些类型的标准解决方案。我找到了内部数据类型和它们的设置,但它们似乎工作得不好 正则表达式是您在这里的朋友 这是一个很好的例子,我重复了一些只验证文本的人,并修改了正则表达式,使其只接受数字 您可

我需要拒绝sap.m.Input控件除整数值以外的任何输入。因此in input只能输入0-9,没有任何符号(+-)或任何十进制分隔符。我找不到好的解决办法。视图是以XML格式声明的,最好的方法是在可能的情况下使用附加参数更改此XML

可能的解决办法:

  • 第一个单写自定义格式化程序
  • 第二种方法-尝试找到一些类型的标准解决方案。我找到了内部数据类型和它们的设置,但它们似乎工作得不好

    • 正则表达式是您在这里的朋友

      这是一个很好的例子,我重复了一些只验证文本的人,并修改了正则表达式,使其只接受数字

      您可以将验证连接到更改事件中,以便在输入文本时触发并将状态设置为错误

      让我们知道这是怎么回事

      干杯


      Nigel

      在这种情况下,自定义格式化程序不会帮助您,因为它只使用单向(模型->视图)

      但是数据类型在这里是你的朋友。我建议
      sap.ui.model.type.Integer
      使用最小约束0

      
      
      但是,这有两个先决条件:

    • 您需要启用复杂的数据绑定。这可以在index.html中的bootstrap标记中使用属性完成。至少需要1.26版。可以使用值边缘指定最新版本:
    • 
      
      或者,您可以使用

    • 如果用户输入无效数据,数据类型将抛出
      ValidationException
      。错误将被忽略,但模型不会更新。要为用户获得一些反馈,您可以在以下位置注册控件或整个视图:
    • sap.ui.getCore().getMessageManager().registerObject(this.getView(),true);
      
      您还可以在组件中或在实例化组件时启用


      .

      谢谢您的回答。我正在寻找通过标准特性实现这一点的方法。我曾考虑过使用regex和change事件,但我认为这不是一个非常干净的方法。但是如果没有其他方法,那么,我会用这种方法。