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