Hallo,
ich erstelle gerade eine Validierung von Formulareingaben über JavaScript und arbeite hier mit einem Array-Objekt "Fehler", dem ich entweder einen Fehler in der Form "Formularfeld" : "Fehlermeldung" übergebe oder aus dem ich einen Fehler, wenn er nicht mehr besteht, rausgelösche:
Fehler = {};
function Pflichtfeld (Wert, NameKlartext)
{
if (!Wert || Wert === "" || (typeof Wert.length === "undefined" && Wert.length === 0))
{
if (!Fehler.contains (NameKlartext))
{
if (NameKlartext == "Name")
Fehler.add ("Name", "Dein Name fehlt");
else
if (NameKlartext == "Text")
Fehler.add ("Text", "Deine Nachricht fehlt");
else
...
}
}
else
Fehler.remove (NameKlartext);
}
Array.prototype.contains = function (obj)
{
var i = this.length;
do
{
if (this[i] === obj)
return i;
i--;
}
while (i !== -1)
return -1;
}
Array.prototype.add = function (key, value)
{
if (this.contains (key))
this[key] = value;
else
{
this.push (key);
this[key] = value;
}
}
Array.prototype.remove = function (key)
{
var l = this.length;
for (var i = 0; i < l; ++i)
{
if (this [i] == key)
{
this.splice (i, 1);
return true;
}
}
return false
}
Leider bekomme ich aber die Fehlermeldung "TypeError: Fehler.contains is not a function".
Ich vermute, dass dann die weiteren Methoden "add" und "remove" leider auch nicht funktionieren werden.
Was habe ich falsch gemacht?
Danke und Gruß,
Enrico