gpt4 book ai didi

sapui5 - sap.m.Input 只允许正整数值

转载 作者:行者123 更新时间:2023-12-02 06:04:56 25 4
gpt4 key购买 nike

我需要拒绝 sap.m.Input 控制除整数值之外的任何输入。所以输入时只能输入0-9,不带任何符号(+-)或任何小数点分隔符。我找不到好的解决方案。以 XML 格式声明的 View ,如果可能的话,更好的方法是使用附加参数更改此 XML。

可能的解决方案:

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

最佳答案

在这种情况下,自定义格式化程序不会为您提供帮助,因为它仅用于单向(模型-> View )。

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

<Input value="{path: '/value', type: 'sap.ui.model.type.Integer', constraints:{minimum:0}}" />

但是这确实有两个先决条件:

  1. 您需要启用复杂的数据绑定(bind)。这可以在 index.html 的 bootstrap 标签中使用 data-sap-ui-compatVersion 来完成。属性。至少需要1.26版本。您可以使用值edge来指定最新版本:
<script src="https://openui5.hana.ondemand.com/resources/sap-ui-core.js"
id="sap-ui-bootstrap"
data-sap-ui-theme="sap_bluecrystal"
data-sap-ui-libs="sap.m"
data-sap-ui-compatVersion="edge">

或者您可以使用 data-sap-ui-bindingSyntax="complex" .

  • 如果用户输入无效数据,数据类型将引发 ValidationException。该错误将被静默忽略,但模型不会更新。要获得用户的一些反馈,您可以在 MessageManager 注册控件或整个 View 。 :
  • sap.ui.getCore().getMessageManager().registerObject(this.getView(), true);

    您还可以启用handleValidation在组件中或实例化组件时。

    Example on JSBin .

    关于sapui5 - sap.m.Input 只允许正整数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37252221/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com