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

Post Reply
Christoph
Posts: 99
Joined: 30. Mar 2016, 15:47
Contact:

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

Post by Christoph » 15. Apr 2019, 12:08

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
Attachments
formular.png
Formularbeispiel mit M:N Beziehung als Table View
(47.8 KiB) Downloaded 262 times

Christoph
Posts: 99
Joined: 30. Mar 2016, 15:47
Contact:

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

Post by Christoph » 09. Jun 2020, 08:40

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

Post Reply

Return to “Customizing und Reporting”

Who is online

Users browsing this forum: No registered users and 6 guests