Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: LisaS am 30.04.04 - 11:04:36

Titel: Eingabe Validierung im Web?
Beitrag von: LisaS am 30.04.04 - 11:04:36
Hallo der JavaScript Neuling braucht mal wieder Hilfe:

In einer Web Maske möchte ich vor dem Speichern eine Eingabevalidierung von bestimmten Feldern durchführen.
Die Methode die jeweilige Eingabevalidierung des Feldes zu nutzen erscheint mir nicht so gut, weil immer eine neue Seite geöffnet wird.
Ich möchte daß gerne mit JavaScript lösen.
Ich habe im JSHeader der Maske folgende Funktion:
function chkFormular()
{
 if(document.Formular.time_duration.value == "")  {
   alert("Bitte Ihren Dauer eingeben!");
   document.Formular.time_duration.focus();
   return false;
  }
}

Jetzt meine Frage:
Wie kann ich diese Funktion vor dem Speichern aufrufen?
zur Zeit Speicher ich das Dokument mit einer Action : @Command([FileSave])
Vieleicht ist mein Ansatz ja auch völlig bekloppt und es gibt noch eine andere Lösung...

Gruß
Hitcher
Titel: Re:Eingabe Validierung im Web?
Beitrag von: Glombi am 30.04.04 - 11:11:59
Hier ein Beispiel:
Im JS Header:

// Function zur Validierung von Feldinhalten
// Aufruf durch onSubmit
var retfunc;

//Validierung von normalen Feldern
function validation (feld,feldbez)
{
   if (feld.value == "")
   {
      alert ("Bitte füllen Sie folgendes Feld aus: " + feldbez);
      feld.focus();
      return false;
   }
   else
   {
      return true;
   }
}

//Validierung von Dialogfeldern
function validationdialogfeld (feld,feldbez)
{
   retfunc = false;
   for(i=0;i<feld.length;i++)
   {
      if (feld.options.selected && feld.options.text != "")   //Bei Treffer: Frage "" ab, da leer Vorgabe ist
      {
         retfunc = true;
      }      
   }

   if (retfunc)
   {
      return true;
   }
   else
   {
      alert ("Bitte füllen Sie folgendes Feld aus: " + feldbez);
      feld.focus();
      return false;      
   }
}




und im Event OnSubmit



frm=window.document.forms[ 0 ];

if ( validation(frm.Name, "Nachname") && validation(frm.Vorname, "Vorname")
&& validation(frm.Strasse, "Strasse")  
&& validation(frm.PLZ, "PLZ") && validation(frm.Ort, "Ort") && validation(frm.Telefon, "Telefon")
 )
{
   return true;
}
else
{
   return false;
}


Das OnSubmit wird vor dem Speichern ausgeführt.

Hinweis:
Bitte bei frm=window.document.forms[ 0 ];
die Leerzeichen löschen. Leider kann man das hier nicht korrekt eingeben, da er eine Aufzählung oder sowas daraus macht...

Andreas
Titel: Re:Eingabe Validierung im Web?
Beitrag von: LisaS am 03.05.04 - 11:45:18
Danke Glombi,
funktioniert super.
Gruß
Hitcher