Zoals jullie misschien al weten heeft jQuery ook een standaard plugin voor form validatie. Echter vind ik deze niet zo compleet, daarom heb ik besloten zelf een plugin te schrijven.
Echter zit ik vast bij een van m'n laatste stapjes, en ik zie niet waarom het fout zou kunnen lopen, dus een oplossing bedenken is dan ook moeilijk. Daarom dat ik het hier even vraag of iemand het ziet.
De bedoeling van m'n validator is dus om het form te controleren aan de hand van rules, wat al perfect werkt. Nu wil ik echter ook aan de hand van mijn validator een "tip" kunnen toevoegen bij de input velden. Hier loopt het jammer genoeg fout.. De tips krijg ik al te zien, maar soms toont hij ze niet, soms wel.
Bij mijn test form neemt hij de eerste input field(username) niet op, en daarna slaat hij telkens 1 over. Als je dan van onder naar boven selecteert, gaat het echter wel, juist dat ene veld weer niet.
Het stukje jQuery code dat ik heb geschreven ziet er als volgt uit, ik hoop dat er genoeg info bijstaat zodat jullie het begrijpen:
Mijn test form is hier(let overigens niet op de rest, dit is het enige dat werkt atm.)
Ik heb het al met het $(inputid).focus() event geprobeerd, de focusout voor m'n focusin gezet, het lijkt niet echt te werken.
Probleem met de username opgelost, was doordat het loginform ook username gebruikt.
Edit;
Het probleem is al opgelost, de info is hier te vinden
Echter zit ik vast bij een van m'n laatste stapjes, en ik zie niet waarom het fout zou kunnen lopen, dus een oplossing bedenken is dan ook moeilijk. Daarom dat ik het hier even vraag of iemand het ziet.
De bedoeling van m'n validator is dus om het form te controleren aan de hand van rules, wat al perfect werkt. Nu wil ik echter ook aan de hand van mijn validator een "tip" kunnen toevoegen bij de input velden. Hier loopt het jammer genoeg fout.. De tips krijg ik al te zien, maar soms toont hij ze niet, soms wel.
Bij mijn test form neemt hij de eerste input field(username) niet op, en daarna slaat hij telkens 1 over. Als je dan van onder naar boven selecteert, gaat het echter wel, juist dat ene veld weer niet.
Het stukje jQuery code dat ik heb geschreven ziet er als volgt uit, ik hoop dat er genoeg info bijstaat zodat jullie het begrijpen:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
| form.find("[class]").each(function(){ var field = $(this); /* * See if there is a rule attached to the class attribute */ if(field.attr('class') !== undefined){ var infoClass = "infoSpan"; /* * Bind the focus event to each field that has a rule defined */ $("#"+field.attr('id')).bind('focus', function(){ var infoSpan = $(document.createElement("span")).addClass(infoClass) types = field.attr("class").split(" "); var intI = 0; //Go trough all the rules in the class attribute for(var type in types){ //Only show the most important information rule(first rule in the class attribute) if(intI == 0){ var rule = $.Validation.getRule(types[type]); field.after(infoSpan.append(rule.infMsg)); } intI++; } }); /* * Bind the removal of the infoClass to the focusout event */ $("#"+field.attr('id')).bind('focusout', function(){ field.next("."+infoClass).remove(); }); //Add the field to the fields array for later validation fields.push(new Field(field)); } }); |
Mijn test form is hier(let overigens niet op de rest, dit is het enige dat werkt atm.)
Ik heb het al met het $(inputid).focus() event geprobeerd, de focusout voor m'n focusin gezet, het lijkt niet echt te werken.
Probleem met de username opgelost, was doordat het loginform ook username gebruikt.
Edit;
Het probleem is al opgelost, de info is hier te vinden
[ Voor 12% gewijzigd door Verwijderd op 18-04-2011 10:29 . Reden: bijkomende test gedaan ]