Numerisches Pflichtfeld mit 0 (Null) als zulässigem Wert

Die Möglichkeiten und Tücken von Formularen
Antworten
Peter_Neumann
Beiträge: 61
Registriert: 28.02.2014, 06:03

Numerisches Pflichtfeld mit 0 (Null) als zulässigem Wert

Beitrag von Peter_Neumann » 19.02.2015, 14:28

Ich habe in einem Formular einige Pflichtfelder definiert. Ein Ausdruck ist nur möglich, wenn diese Pflichtfelder eingegeben wurden. Teilweise soll jedoch bei numerischen Feldern auch der Wert 0 (Null) die Pflicht der Eingabe erfüllen. Also, wenn bewusst 0 (Null) eingegeben wurde. Beim Öffnen des Formulars ist das Feld scheinbar leer. Tatsächlich hat es wohl doch schon den Wert Null. Deshalb fällt es mir schwer, eine Lösung zu finden. Habt Ihr eine Idee?
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

armine
Beiträge: 2690
Registriert: 16.05.2009, 10:24

Numerisches Pflichtfeld mit 0 (Null) als zulässigem Wert

Beitrag von armine » 20.02.2015, 10:34

Machs doch so:

Formular1.Seite1.Betrag::initialize - (FormCalc, client)

$.execEvent("exit")

Formular1.Seite1.Betrag::exit - (FormCalc, client)

if (HasValue($) or $ == 0) then
$.mandatory = "disabled"
else
$.mandatory = "error"
$ = null
endif

Peter_Neumann
Beiträge: 61
Registriert: 28.02.2014, 06:03

Numerisches Pflichtfeld mit 0 (Null) als zulässigem Wert

Beitrag von Peter_Neumann » 20.02.2015, 11:16

Liebe Mandy,

vielen Dank für den Lösungsansatz. Die Pflichtfeldeigenschaft ist dadurch aufgehoben. Das hat mir schon mal ein Stück weiter geholfen. Das eigentliche Problem liegt aus meiner Sicht noch hinter der "Drucken"-Schaltfläche. Dort wird abgfragt, ob die Pflichtfelder Null oder leer sind. Hast du für diese Stelle auch eine Lösung?

armine
Beiträge: 2690
Registriert: 16.05.2009, 10:24

Numerisches Pflichtfeld mit 0 (Null) als zulässigem Wert

Beitrag von armine » 20.02.2015, 11:39

Wie dir aufgefallen ist, hat sich das korrekt ausgefüllte Feld der Bürde "Pflichtfeld" entledigt.
Damit kannst du so vorgehen:

:click - (JavaScript, client)

var Sammelmeldung = "" ;
for (j = 0 ; j < xfa.host.numPages; j++) {
var oFields = xfa.layout.pageContent(j, "field") ;
for (i = 0; i < oFields.length; i++) {
if (oFields.item(i).validate.nullTest == "error") {
if (xfa.host.numPages > 0) Sammelmeldung = Sammelmeldung + "Seite " + (j + 1) + " / "
Sammelmeldung = Sammelmeldung + oFields.item(i).name + ",\n"
}
}
}

if (Sammelmeldung) {
app.runtimeHighlight = true ;
xfa.host.messageBox("Es wurden nicht alle (farbig markierten) Pflichtfelder ausgefüllt:\n\n" + Sammelmeldung.replace(/_/g," ") , "Debugging", 3) ;
xfa.event.cancelAction = 1 ;
} else {
gesamt.access = "readOnly" ;
event.target.mailDoc({
bUI: true,
cTo: "test@test.de",
// cCc: "test2@test2.de;test3@test3.de",
// cBcc: "test4@test4.de",
cSubject: "Testnachricht",
cMsg: "Anbei sende ich Ihnen die Datei »" + event.target.documentFileName + "« zur Kenntnisnahme.",
}) ;
gesamt.access = "open" ;
}

Statt zu mailen kannst du auch drucken.

Peter_Neumann
Beiträge: 61
Registriert: 28.02.2014, 06:03

Numerisches Pflichtfeld mit 0 (Null) als zulässigem Wert

Beitrag von Peter_Neumann » 23.02.2015, 11:57

Liebe Armine,

vielen Dank. Durch deine Hilfe konnte ich das Problem lösen.

Viel Grüße von

Peter

Antworten