定义自定义数据类型

时间:2016-06-27 07:32:56

标签: sapui5 sap-fiori

我试图通过扩展SimpleType来定义自己的自定义数据类型。我想将它绑定到输入字段。但是我必须做错了,因为我的自定义类型被完全忽略了。

这里是我的小贴士:

<input type="button">

在我的view.xml中,我以这种方式使用了我的自定义类型。

sap.ui.define([
    "sap/ui/model/SimpleType",
    "sap/ui/model/ValidateException"
], function (SimpleType, ValidateException) {
    "use strict";

    return SimpleType.extend("my.model.customFloat", {

        formatValue: function(oValue) {

            return parseFloat(oValue);
        },
        parseValue: function(oValue) {


            if(isNaN(parseFloat(oValue))) {
                return 0.0
            }

            return parseFloat(oValue);
        },
        validateValue: function(oValue) {
            if(isNaN(parseFloat(oValue))) {
                throw new ValidateException(oValue+" is not a valid decimal value");
            }
        }

    });

});

但它不起作用。当我输入内容并想要调试parseValue,formatValue或validateValue时,从不调用这些方法。我做错了什么?

1 个答案:

答案 0 :(得分:2)

您还需要在某处加载自定义类型。

尝试将“my / model / customFloat”添加到控制器的define部分。没有必要把它变成别名,例如:

sap.ui.define([
        "sap/ui/model/SimpleType",
        "sap/ui/model/ValidateException",
        "my/model/customFloat"
    ], function (SimpleType, ValidateException) {
        "use strict";
        ...