Page 1 of 1

Classic UI - Formular prüfen, ob Table View leer

Posted: 15. Apr 2019, 12:08
by Christoph
Hallo,

ich habe hier einen Service, der in der zugehörigen Datendefinition eine M:N-Beziehung zu Nutzern hat. Bei der Darstellung im Formular wird dafür ja automatisch die ein sogenanntes "Table View" - Control erzeugt, wie man es ja auch aus der Console von vielen Formularen kennt (siehe Anhang). Eine M:N Beziehung ist per Definition kein Pflichtfeld, dass heißt es kann immer auch eine leere Liste im Formular abgeschickt werden.
Kennt jemand eine Möglichkeit per JScript beim Schließen des Formulars (OnSave-Event) zu prüfen, ob die Liste so eines Controls leer ist? Ich habe schon Eingabeprüfungen für Textfelder und Checkboxen gebaut, aber bei denen hat man ja Zugriff auf eine zum Attribut passende Variable. Bei den Beziehungen gibt es diese Variablen aber nicht. Ein Counter würde ja auch schon reichen.

Danke für jeden Hinweis!

Viele Grüße
Christoph

[gelöst] Classic UI - Formular prüfen, ob Table View leer

Posted: 09. Jun 2020, 08:40
by Christoph
Hallo,

Nachtrag zu meinem eigenen Beitrag: In meiner Verzweiflung habe ich eine "dirty" Lösung gefunden, um zu prüfen, ob Objekte (Personen) ausgewählt wurden oder nicht. Ich habe dazu das Tabellenelement per jquery-Selektor gesucht und dann die Anzahl der child-Element ausgelesen. Das sieht im OnSave-Code dann so aus:
...
//Zum Debuggen sind Teilsaudrücke in Variablen auseinandergezogen.
var Berechtigte= $("div[id*=ZugriffsrechteAntragClassBaseGranteesxObjectGrid_div] tbody");
var anzBerechtigte = Berechtigte[0].childNodes.length;
if( anzBerechtigte == 0 ) {
alert("Bitte wählen Sie die Personen aus, für die die Zugriffsrechte geändert werden sollen!");
istFehler = true;
}
...
"ZugriffsrechteAntragClassBase" ist unser Formulartyp (der Name sagt alles). "Grantees" ist der Name der Beziehung zu den Personen.
"Dirty" ist das, weil es natürlich nicht update-fest ist und von der HTML-Umsetzung des Steuerelements abhängt. Immerhin funktioniert es dank jquery im IE und im Firefox problemlos.

Ich hoffe, in der UUX ist die Prüfung der Eingaben besser möglich!(?)

Gruß
Christoph