Хорошо, после тяжелых выходных я нашел решение для моей проблемы
var oCheckGrossTons = oGrossTons.getValue();
if (oCheckGrossTons < 500) {
this.setInvalidGrossTons(oGrossTons.getId());
} else {
this.removeErrorMsgForId(oGrossTons.getId());
}
и
setInvalidGrossTons: function (id) {
var oMessageProcessor = new sap.ui.core.message.ControlMessageProcessor();
var mainMsg = this.getResourceBundle().getText("validation.grossTons");
var msg = new sap.ui.core.message.Message({
message: mainMsg,
additionalText: "",
description: "",
type: sap.ui.core.MessageType.Error,
target: "/" + id + "/value",
processor: oMessageProcessor
});
this.bus.publish("rrp", "validationError", {
message: msg
});
},
, поэтому единственная проблема, с которой я столкнулся сейчас:
Когда я ввожу 100 тонн, я получаю сообщение об ошибке :-) Если я ввожу 200 тонн, я получаю сообщение об ошибке дважды, пока я не введу более 500 тонн, и сообщений об ошибках больше нет.
Так как мне удалитьдвойное сообщение об ошибке? Я думаю, что проблема в моем MessageProcessor.constructor Там у меня есть 2 записи с разными идентификаторами. Я думаю, что могу решить проблему, удалив ID, но я не знаю как.
введите описание изображения здесь