Autor Thema: Eingabevalidierung erstellt trotzdem wird das Dokument gespeichert  (Gelesen 6097 mal)

Offline harrymatty

  • Frischling
  • *
  • Beiträge: 37
Hallo,

komm da einfach nicht weiter und weiß nicht an was es liegt

ich habe in einer Maske 2 Felder in denen ich eine Eingabevalidierung festgelegt habe.

@If(Kategorie != ""; @Success; @Failure("Bitten fuellen Sie das Feld Kategorie aus."))
@If(Topic != ""; @Success; @Failure("Bitten fuellen Sie das Feld Kurzbeschreibung aus."))

Die Meldungen, dass die Felder ausgefüllt werden müssen kommen auch.

Jetzt habe ich eine Save und Exit Aktion

@If(@IsNewDoc; @MailSend(SendTo;"";"";"Neue Information aus der Datenbank: " ;"Dokument wurde erstellt von  "+Author_G8;+@NewLine+"Bitte schauen sie sich diese neue Information aus der Datenbank  an !   ";[IncludeDoclink]);"");
@Command([FileSave]);@Command([FileCloseWindow])

Wenn man save und exit anklickt kommt die Validierungsmeldung

Feld enthält falschen Wert   OK
Danach erscheint die Meldung
Möchten sie dieses neue Dokument speichern   Ja
Danach kommt nochmals die Meldung
Feld enthält falschen Wert   OK

Trotzdem geht das Mail raus  und zwar in dem Moment wenn ich den Button save und exit drücke.

Kann mir jemand bitte helfen was ich da falsch mache.

Danke für eure Hilfe

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.696
  • Geschlecht: Männlich
Hallo,

Wie pruefts Du denn vor den Senden der Mail ab, ob die Validierung auch ohne Fehler gelaufen ist?
(nur mit @IsNewDoc reicht nicht)

@IF(@Command([FileSave]); <Aktionen wenn Speichern erfolgreich>; <mache nichts>) oder mit

@IsValid

Mal so als Anregung.


Andreas

Offline harrymatty

  • Frischling
  • *
  • Beiträge: 37
Hallo Andreas,

erstmal Danke für deine schnelle Antwort und Hilfe

habe es jetzt so gelöst und denke so gehts

_msg1 := "Bitte wählen Sie eine Kategorie ein";
_msg2 := "Bitte geben Sie eine Kurzbeschreibung ein";


@If(Kategorie="";@Return(@Prompt([Ok];"Obacht!";_msg1));@Success);
@If(Topic="";@Return(@Prompt([Ok];"Obacht!";_msg2));@Success);

@Command([FileSave]);
  @Do
  (
  @MailSend(SendTo;"";"";"Neue Information aus der HTC-SHE-Bopfingen Datenbank: " ;"Dokument wurde erstellt von  "+Author_G8;+@NewLine+"Bitte schauen sie sich diese neue Information aus der Datenbank HTC-She-Bopfingen an !   ";[IncludeDoclink]);"");@Command([FileCloseWindow])

Bin ich drauf gestoßen als ich nach @isvalid gesucht habe also Danke nochmals mit deinem Tip bin ich weiter gekommen.

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Wozu hast Du die letzten beiden Befehle in ein @Do gepackt? Das ist m.E. überflüssig

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Eingabevalidierungen vorausgesetzt, würde das @Do ggf. sogar Sinn ergeben:
Validierung schlägt fehl, dann greift

@If (@Command([FileSave]);
  @Do
  (
  @MailSend(SendTo;"";"";"Neue Information aus der HTC-SHE-Bopfingen Datenbank: " ;"Dokument wurde erstellt von  "+Author_G8;+@NewLine+"Bitte schauen sie sich diese neue Information aus der Datenbank HTC-She-Bopfingen an !   ";[IncludeDoclink]);"");@Command([FileCloseWindow]));
  @Prompt ([OK]; "Dussel!"; "SO nicht!")
  )
(Syntaktisch nicht geprüft!)

So spart man sich das vom TE derzeit gewählte "Vorspiel"  mit den Pseudoevaluierugnen.

Wichtig: Stellt man später das QuerySave auf LS um, gibt es neue Probleme. Die würde es auch mit der ersten Variante geben  ;)

Bernhard

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Klar, so macht das Sinn (weiß ich auch), hat er aber nicht so geschrieben, und dann ist es unnötig.

@Formel1;
@Formel2;
@Do (
   @Formel3;
   @Formel4
)

ist das gleiche, wie

@Formel1;
@Formel2;
@Formel3;
@Formel4

nur umständlich. Sieht nach kopiert und nicht verstanden aus, deshalb meine Rückfrage.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Richtig, Peter - dass hat er nicht geschrieben. Und dass Du das weisst, eh  ;)

Bernhard

Offline harrymatty

  • Frischling
  • *
  • Beiträge: 37
Hallo Bernhardt & Peter,

hab es nicht so ganz verstanden da hat Peter recht habe es aber in die Datenbank eingefügt und es funktioniert.
Erstelle nur von Zeit zu Zeit einfache Datenbanken und wenn ich an ein Problem komme wird mir hier immer geholfen.

also euch beiden nochmals vielen Dank für die RA

Schulungen  darf ich leider nicht besuchen da diese Aufgabe (Notes) nicht zu meinen Hauptaufgaben gehört bin Netzwerkadministrator

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz