我试图通过扩展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时,从不调用这些方法。我做错了什么?
答案 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";
...