Form validatie

Status
Niet open voor verdere reacties.

bn2vs

Terugkerende gebruiker
Lid geworden
18 aug 2007
Berichten
1.705
Hey,

Ik ben nu al anderhalf jaar bezig met javascript, en heb nog steeds geen goeie manier gevonden voor het valideren van forms.

Ik heb 1 zelfgeschreven script dat doet wat ik wil, maar het is niet makkelijk te implementeren, en eist een reeks aanpassingen bij elke implementatie :(

Zo moet het script werken:
- Velden met een niet correcte inhoud moeten ofwel een afweikende bgcolor of bordercolor hebben
- De submit knop van de form moet disabled zijn als niet alle velden correct zijn
- De validatie moet live zijn, dus bij elk teken dat ingevoerd word

Problemen hierbij zijn
- Velden hebben verschillende validatieregels
- Sommige velden (zoals username) moeten httprequests maken als ze uniek moeten zijn

Heeft iemand een idee hoe ik dit op een 'herbruikbare' manier kan oplossen? Of kent iemand een script dat dit ongeveer voor elkaar brengt?

Alvast bendankt :)
 
Wellicht heb je hier iets aan.

Het werkt met jQuery :)
 
/edit: woeps, had mijn scherm wat minder lang open moeten laten staan. jQuery kun je waarschijnlijk ook gebruiken.

Het testen of inhoud aan een eis voldoet zou ik doen met behulp van een rexeg.

Zelf gebruik ik altijd een extern js bestand wat achteraf alle event handlers e/d toepast, dus dan kun je een object maken met iig twee functies

Code:
var form_validator = 
{
  form:  document.getElementById("form"),
  children: [],
  validate: function()
  {
    // valideer het formulier, return false indien fout
    // loop alle objecten in form_validator.children
    // test [COLOR="Blue"]form_validator.children[i].regex[/COLOR] tegen [COLOR="Blue"]form_validator.children[i].element.value[/COLOR]
    // verstuur synchroon [COLOR="Blue"]form_validator.children[i].element.value[/COLOR] naar [COLOR="Blue"]form_validator.children[i].url[/COLOR] indien url niet leeg is
  },

  add_element: function(element, regex, url)
  {
    children.push({"element": element, "regex":regex, "url":url});
  }
}

Je zult wel synchroon met Ajax moeten werken wat niet erg goed is voor het gebruikersgemak. Maar als je asynchroon werkt dan is je validate functie al klaar voordat je een antwoord hebt via Ajax.
 
Laatst bewerkt:
Hey,

Dat jQuery ding lijkt me idd wat, heb zonet de code eens grondig overlopen en ga hem morgen *edit: vandaag* proberen implementeren :)

Glest,
zou jij mss een simpel voorbeeld kunnen geven? dat javascipt van jou licht wat boven mn niveau dus begrijp het zo niet ditrect volledig :confused:

Alvast bedankt voor de help zover :thumb:
 
Wat heb je uiteindelijk gebruikt? en hoe moeilijk was het in te bouwen?
 
Hey,

Ik heb die jquery zooi gebruikt, werkt zeer nice :)
Integratie is redelijk makkelijk (zeker als je dat artiekel eerst ff grondig leest, wat ik beter ook gedaan had >_>) :D
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan