Я пытаюсь определить собственный тип данных, расширив SimpleType. Я хочу связать его с полем ввода. Но что-то я должен делать неправильно, потому что мой пользовательский тип полностью игнорируется.Определить пользовательские типы данных
Вот мои snipplets:
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");
}
}
});
});
и в моем view.xml я использовал свой собственный тип таким образом.
<Input value="{ path:'draftModel>SomeCustomValue', type: 'my.model.customFloat'}" change="onEditDoSomething"/>
Но это не сработает. Когда я что-то печатаю и хочу отлаживать parseValue, formatValue или validateValue, методы никогда не вызывались. Что я делаю не так?
Спасибо, что была проблема. Сейчас он работает –