Domino 9 und frühere Versionen > Entwicklung
travel DB - input validation bei computed feldern
luna:
hallo,
ich hab zwei buttons (approve und reject) die je ein feld beschreiben. im moment kann der user auf beide buttons klicken, was er aber nicht soll.
normalerweise wuerde ich eine input validation machen mit so einer formel:
@If(feldA !="" & feldB !="";@Failure("only click on one button!");@True)
damit er nicht speichern kann, wenn in beiden feldern was drin steht.
aber da die beiden felder computed sind, hab ich keine input validierung.
wie kann ich das loesen, damit er nicht auf approve UND reject klicken kann?
danke und gruss,
daniela
Till_21:
du könntest, wie dein ansatz, die gleiche validierung
per ls im querysave machen und ggf. das speichern unterbinden.
oder aber du setzt ein flag ins dokument bei betätigen der jeweiligen buttons. danach ein [refreshhideformulas].
dann für die knöpfe noch die hide-when anpassen.
hiermit hast du erreicht, dass wenn ein knopf gedrückt wurde, der andere danach gar nicht mehr zu sehen ist.
dann kannst du dir auch widerrum die validierung sparen.
gruss, till
Axel:
Hi,
wie wäre es denn, wenn der User einen Button klickt um in ein Feld was einzutragen und damit wird der andere ausgeblendet.
Andere Alternative. Du prüfst, bevor du der Wert in ein Feld geschrieben wird ob im anderen bereits was drin steht.
Axel
luna:
hallo till, hallo axel,
erstmal vielen dank fuer die schnellen antworten.
ich denke mir gefaellt das am besten:
wenn der user auf den button APPROVE klickt, soll zuerst geprueft werden, ob im FELDB was drinsteht. wenn schon was drinsteht, dann soll er eine fehlermeldung bekommen, wenn nicht, dann soll ein wert in FELDA eingetragen werden.
und umgekehert genauso.
ich kriegs aber nicht hin.
die formel im moment auf dem APPROVE button:
FIELD signature_manager_approval := @Name([Abbreviate];@UserName) + @NewLine + "on " + @Text(@Now)
ich dachte, ich mach das einfach so:
@If (signature_manager_reject != "";@Failure ("sie koennen hier nicht alles anklicken, sie muessen sich schon fuer eins entscheiden");
FIELD signature_manager_approval := @Name([Abbreviate];@UserName) + @NewLine + "on " + @Text(@Now))
aber das geht nicht, da ist FIELD rot und er sagt dort ist ein missing semikolon. ist sicherlich nur eine kleinigkeit, aber ich weiss nicht, wie ich das richtig schreiben muss.
danke und gruss,
daniela
Till_21:
hi luna,
du kannst glaub ich keine field-struktur verschachteln, da muesstest du
schon mit @setfield arbeiten
till
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln