Ich muss mal auf die valueState
Eigenschaft einer Liste zugreifen.Zugriff auf getValueState für alle Seitenelemente
Aus meiner Sicht werden die vier Zeiten, ein Satz für jeden Tag angezeigt. Die Informationen werden im Modell bereitgestellt.
var storeModel = new JSONModel({
EffectiveDateFrom: this._selectedEffectiveDateFrom,
SiteInfo: oModelData,
SplitShifts: false,
OpeningTimes: [{
BusinesDay: "Sunday",
startTime1: "08:00",
endTime1: "18:00",
startTime2: "",
endTime2: "",
isOpen: true,
tradingHours: "10:00",
overNight: false
}, {
BusinesDay: "Monday",
startTime1: "08:00",
endTime1: "18:00",
startTime2: "",
endTime2: "",
isOpen: true,
tradingHours: "10:00",
overNight: false
}, {
BusinesDay: "Tuesday",
startTime1: "08:00",
endTime1: "18:00",
startTime2: "",
endTime2: "",
isOpen: true,
tradingHours: "10:00",
overNight: false
}, {
BusinesDay: "Wednesday",
startTime1: "08:00",
endTime1: "18:30",
startTime2: "",
endTime2: "",
isOpen: true,
tradingHours: "10:00",
overNight: false
}, {
BusinesDay: "Thursday",
startTime1: "08:00",
endTime1: "18:00",
startTime2: "",
endTime2: "",
isOpen: true,
tradingHours: "10:00",
overNight: false
}, {
BusinesDay: "Friday",
startTime1: "08:00",
endTime1: "18:00",
startTime2: "",
endTime2: "",
isOpen: true,
tradingHours: "10:00",
overNight: false
}, {
BusinesDay: "Saturday",
startTime1: "08:00",
endTime1: "18:00",
startTime2: "",
endTime2: "",
isOpen: true,
tradingHours: "10:00",
overNight: false
}]
});
<cells>
<ObjectIdentifier title="{store>BusinesDay}" />
<TimePicker id="TP1_1" value="{store>startTime1}" valueFormat="HH:mm" displayFormat="HH:mm" change="onTimeChangedOpening" visible="{store>isOpen}" placeholder="Enter Opening Time" />
<TimePicker id="TP1_2" value="{store>endTime1}" valueFormat="HH:mm" displayFormat="HH:mm" change="onTimeChangedClosing" visible="{store>isOpen}" placeholder="Enter Closing Time" />
<TimePicker id="TP1_11" value="{store>startTime2}" valueFormat="HH:mm" displayFormat="HH:mm" change="onTimeChangedOpeningSplit" visible="{store>isOpen}" placeholder="Enter Opening time" />
<TimePicker id="TP1_21" value="{store>endTime2}" valueFormat="HH:mm" displayFormat="HH:mm" change="onTimeChangedClosingSplit" visible="{store>isOpen}" placeholder="Enter Closing time" />
<CheckBox id="closedChkSunday" value="{store>isOpen}" select="toggleOpenClosed" />
<Text text="{store>tradingHours}" visible="{store>isOpen}" editable="false" />
</cells>
kann ich den Wert Zustand auf Fehler, wenn ich die einzelnen Komponenten am Zugriff auf:
oViewComponent.setValueState(sap.ui.core.ValueState.Success);
Wie prüfe ich alle Zeitfelder für einen Fehler in einem Rutsch mit getValueState
?
@hirse wie wird das Ziel in der Nachricht gesetzt? Verwendet der Parser automatisch den Bindungspfad, um Ziel-ID und -Eigenschaft zu bestimmen? – Kyle
@Kyle, ich habe diese Antwort nicht geschrieben, vielleicht könnte Schnoedel helfen? – hirse
@Kyle, der MessageManager verbraucht die Validierungsereignisse. Das [validationError-Ereignis] (https://sapui5.hana.ondemand.com/#docs/api/symbols/sap.ui.base.ManagedObject.html#event:validationError) enthält die Quellcodeverwaltung und die Quelleigenschaft als Argumente. Wenn der Benutzer einen ungültigen Wert eingibt, löst der sap.ui.model.Type der twoway-Bindung eine ValidationException aus. [Diese Ausnahme wird vom Control (ManagedObject) abgefangen und das validationError-Ereignis wird stattdessen ausgelöst] (https://github.com/SAP/openui5/blob/rel-1.48/src/sap.ui.core/src/sap /ui/base/ManagedObject.js#L3155). – schnoedel