Domino 9 und frühere Versionen > ND8: Entwicklung
Feldvalidierung nervt
(1/1)
bikerboy:
Hallo,
es ist wahrscheinlich einfach zu früh.
Ich möchte dass eine verstecktes Feld nicht validiert wird. Dazu habe ich folgende Formel geschrieben :
--- Code: ---_hide := @If(@GetProfileField("frmSetup"; "stp_CostUnit_TXT") = "0" ; @True;@False);
_value := @ThisValue;
@If(!_hide & _value = "" ; @Failure("Sie müssen einen Kostenträger angeben"); @Success)
--- Ende Code ---
Leider bekomme ich immer die Meldung ich sollte einen Kostenträger angeben.
Habe es dann mit folgender Variante versucht:
--- Code: ---_hide := @If(@GetProfileField("frmSetup"; "stp_CostUnit_TXT") = "0" ; @True;@False);
_value := @ThisValue;
@If(_hide ; @Success;!_hide & _value = "" ; @Failure("Sie müssen einen Kostenträger angeben"); @Success)
--- Ende Code ---
Wenn ich den Code in einen Button setze und anstatt @Failure/@Success ein @Prompt verwende bekomme ich das gewünschte Ergebnis.
Vorab die Formel steht auch wirklich in dem Event Eingabevalidierung.
m3:
Werte in Profildokumenten werden aggresiv gecached. Setzt den Wert im Profildokument und starte den Client neu, bevor Du den Code laufen lasst.
bikerboy:
Hmmm hat noch nicht geklappt. Werde mal den Rechner komplett neustarten.
Beim dbLookup kann ich ja auch die Option festlegen [NoCache] geht das vielleicht auch für den Client. In normalen Anwendungen wirft mich das vielleicht ein bisschen zurück aber gerade beim Entwickeln stolpere ich da immer wieder drüber.
Peter Klett:
Ich glaube, das Problem kommt von !_hide & _value
_hide ist @True oder @False
_value ist (vermutlich) Text
Probier mal
_hide := @If(@GetProfileField("frmSetup"; "stp_CostUnit_TXT") = "0" ; "1"; "");
_value := @ThisValue;
@If(_hide + _value = "" ; @Failure("Sie müssen einen Kostenträger angeben"); @Success)
Wenn _hide und/oder _value gefüllt ist, ist alles ok, sonst Fehler
bikerboy:
@Peter Klett
Danke damit hat es funktioniert.
Komisch ist halt nur, dass er es in dem Butto macht?!?! ???
Navigation
[0] Themen-Index
Zur normalen Ansicht wechseln