Mehrere if-Abfragen in einem Feld
Verfasst: 01.11.2017, 15:35
Hallo alle miteinander,
ich habe ein in einem Formular ein Dezimalfeld mit einer festgelegten Länge von 7 Feldern. Nun habe ich zwei Anforderungen, ansonsten soll eine Fehlermeldung erscheinen:
1.) das Feld darf nicht leer sein
2.) das Feld muss mit 7 Zahlen ausgefüllt sein.
Die Abfrage dazu erfolgt, wenn das Formular gedruckt werden soll.
Eingetragen habe ich bei diesem Feld unter "prePrint" folgenden Code:
Mein Problem: die Fehlermeldung erfolgt nur für eine der beiden Bedingungen. D.h. bei obrigem Code wird die Fehlermeldung nur dann ausgegeben, wenn ich mindestens eine Zahl aber eben nicht sieben Zahlen eintrage. Trage ich hingegen gar nichts ein, passiert nichts.
Kommentiere ich nun die Längenabfrage aus und prüfe nur noch, ob der rawValue == null bzw. ob eben nichts eingetragen ist, dann erscheint die Fehlermeldung auch.
Jede Abfrage funktioniert also für sich genommen, jedoch nicht beide gemeinsam. Ob ich dabei "und" oder "oder" abfrage, spielt keine Rolle. Was übersehe ich bzw. was mache ich falsch?
Schonmal vielen Dank für eure Antworten.
ich habe ein in einem Formular ein Dezimalfeld mit einer festgelegten Länge von 7 Feldern. Nun habe ich zwei Anforderungen, ansonsten soll eine Fehlermeldung erscheinen:
1.) das Feld darf nicht leer sein
2.) das Feld muss mit 7 Zahlen ausgefüllt sein.
Die Abfrage dazu erfolgt, wenn das Formular gedruckt werden soll.
Eingetragen habe ich bei diesem Feld unter "prePrint" folgenden Code:
Code: Alles auswählen
var Valid = true;
var Sammelmeldung = "";
/* app.alert (xfa.resolveNode("MyCustomers.Page.Teilformular1.#subform[0].FELD").rawValue) */
if(
xfa.resolveNode("MyCustomers.Page.Teilformular1.#subform[0].FELD").rawValue.length != 7
| xfa.resolveNode("MyCustomers.Page.Teilformular1.#subform[0].FELD").rawValue == null)
{
Valid = false;
app.alert ("Tragen Sie bitte Ihre Nummer korrekt ein.");
}
Kommentiere ich nun die Längenabfrage aus und prüfe nur noch, ob der rawValue == null bzw. ob eben nichts eingetragen ist, dann erscheint die Fehlermeldung auch.
Jede Abfrage funktioniert also für sich genommen, jedoch nicht beide gemeinsam. Ob ich dabei "und" oder "oder" abfrage, spielt keine Rolle. Was übersehe ich bzw. was mache ich falsch?
Schonmal vielen Dank für eure Antworten.