heinetz: array mit text und funktionien

Beitrag lesen

Hallo,

ich bestel gerade an einem formchecker, der einigermassen universell
einsetzbar sein soll.

Zur Zeit definiere ich eine Liste, der zu überrpüfenden Eingabefelder
wie folgt:

var requiredFields = new Array(
"Firma",
"Position",
"Vorname",
"Name",
"Strasse",
"PLZ",
"Ort",
"Telefon",
"E-Mail",
"Betreff",
"Ihre_Nachricht");

... und Es wird pauschal geprüft, ob form.elements[fields[i]].value = ""
ist. Nun würde ich gerne zusätzliche Mechanismen einbauen. Z.B. eine
Validitätsprüfung für die Emailadresse und die Information über den
Mechanismus, der auf das Feld anzuwenden ist in dem Array definieren.
Das könnte ich mir so vorstellen:

var requiredFields = new Array(
"Firma",
"Position",
"Vorname",
"Name",
"Strasse",
"PLZ",
"Ort",
"Telefon",
"validmail('E-Mail')",
"Betreff",
"Ihre_Nachricht");

Mit eval(fields[i]) könnte ich die entsprechende Funktion ansteuern.
Ich habe nun nur das Problem der Unterscheidung, ob ein Wert im Array
ein Funktionsaufruf sein soll, oder ein String ist. Versucht habe ich
folgendes:

for (i=0; i<fields.length; i++)
   {
    if (eval(fields[i])!='true')

... usw. Das führt natürlich zu einem Fehler, weil eval("Firma") eine
Funktion bzw. ein Objekt erwartet. Gibt es eine Möglichkeit, abzufragen,
ob eine Funktion existiert ?

Z.B. alert(is_func("validmail('E-Mail')"));

danke für Tipps und

beste gruesse,
heinetz