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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
| /**
* Classe Validator
* Permet de valider les champs d'un formulaire
* @returns {Validator}
*/
var Validator = function()
{
this.elementsError = new Array();
this.emptyFields = new Array();
/**
* Liste des types de données
* @type array
*/
this.types = new Array('string',
'phone',
'email',
'number',
'file');
/**
* Liste des callback associés aux types de données
* @type type
*/
this.callback = {"string": this.checkString ,
"phone":this.checkTel,
"email":this.checkEmail,
"number":this.checkNumber,
"file":this.checkFile};
/**
* Liste des actions
* @type type
*/
this.actions = {"or": this.OneOrOthers};
};
/**
* Methode qui ajoute une bordure au champ
* @param {type} element
*/
Validator.prototype.addBorder = function(element)
{
element.style.border= "1px solid red";
};
/**
* Methode qui enlève la bordure du champ
* @param {type} element
*/
Validator.prototype.removeBorder = function(element)
{
element.style.border="1px inset white";
};
/**
* Fonction de validation
* @returns {undefined}
*/
Validator.prototype.validate = function()
{
// .... Boucle
elements = ('input[class^='+this.types[i]+']');
// ...
this.callback[this.types[i]](elements[j],ENom);
// ... fin de boucles
}
// fonction qui vérifie si un input ne contient pas de caractères speciaux
Validator.prototype.checkString = function (element,name)
{
console.log("checkString"+name);
if(0 < element.value.length)
{
var regEx=/^[\w\s-]*$/;
if(!regEx.test(element.value))
{
this.elementsError.push("Le champ "+name+" ne doit pas contenir de caractères speciaux"); // ici la methode ne trouve pas le tableau elementsError
}else
{
this.removeBorder(element); // ici la methode ne trouve pas la methode removeBorder
}
}
}; |
Partager