| 12
 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
 
 | function validateInput(e,inputObj){
	if(!inputObj)inputObj = this;		
	var inputValidates = true;
 
	if(formElementArray[inputObj.name]['required'] && inputObj.tagName=='INPUT' && inputObj.value.length==0)inputValidates = false;
	if(formElementArray[inputObj.name]['required'] && inputObj.tagName=='SELECT' && inputObj.selectedIndex==0){
		inputValidates = false;
	}
	if(formElementArray[inputObj.name]['mask'] && !inputObj.value.match(formValidationMasks[formElementArray[inputObj.name]['mask']]))inputValidates = false;
 
	if(formElementArray[inputObj.name]['freemask']){
		var tmpMask = formElementArray[inputObj.name]['freemask'];
		tmpMask = tmpMask.replace(/-/g,'\\-');
		tmpMask = tmpMask.replace(/S/g,'[A-Z]');
		tmpMask = tmpMask.replace(/N/g,'[0-9]');
		tmpMask = eval("/^" + tmpMask + "$/gi");
		if(!inputObj.value.match(tmpMask))inputValidates = false
	}	
 
	if(formElementArray[inputObj.name]['regexpPattern']){
		var tmpMask = eval(formElementArray[inputObj.name]['regexpPattern']);
		if(!inputObj.value.match(tmpMask))inputValidates = false
	}
	if(!formElementArray[inputObj.name]['required'] && inputObj.value.length==0 && inputObj.tagName=='INPUT')inputValidates = true;
 
	if(inputValidates){
		if(inputObj.type == "select-one") inputObj.className='validSelect';
		else inputObj.className='validInput';
	}else{
		if(inputObj.type == "select-one") inputObj.className='invalidSelect';
		else inputObj.className='invalidInput';
	}
 
	if(isFormValid(inputObj.form)) disableForm(false, inputObj.form);
	else disableForm(true, inputObj.form);
}
 
function initFormValidation(formulaire){
	var inputFields = document.getElementsByTagName('INPUT');
	var selectBoxes = document.getElementsByTagName('SELECT');
	var textareas = document.getElementsByTagName('TEXTAREA');
 
	var inputs = new Array();
 
 
	for(var no=0;no<inputFields.length;no++){
		if(inputFields[no].form == formulaire && inputFields[no].type != "submit" && inputFields[no].type != "button" && inputFields[no].type != "hidden")
			inputs[inputs.length] = inputFields[no];
 
	}	
	for(var no=0;no<selectBoxes.length;no++){
		if(selectBoxes[no].form == formulaire)
			inputs[inputs.length] = selectBoxes[no];
	}
	for(var no=0;no<textareas.length;no++){
		if(textareas[no].form == formulaire)
			inputs[inputs.length] = textareas[no];
	}
 
	for(var no=0;no<inputs.length;no++){
		var className = inputs[no].className;
		if(className && className.indexOf('validInput')>=0)continue;		
 
		var required = inputs[no].getAttribute('required');
		if(!required)required = inputs[no].required;
 
		var oldonchange = inputs[no].onchange;
		if(oldonchange != undefined) inputs[no].onchange = function(){ validateInput(false); oldonchange(); }
		else inputs[no].onchange = validateInput;
		inputs[no].onblur = validateInput;
		inputs[no].onpaste = validateInput;
		inputs[no].onkeyup = validateInput;
 
		formElementArray[inputs[no].name] = new Array();
		formElementArray[inputs[no].name]['mask'] = mask;
		formElementArray[inputs[no].name]['freemask'] = freemask;
		formElementArray[inputs[no].name]['required'] = required;
		formElementArray[inputs[no].name]['regexpPattern'] = regexpPattern;
 
		validateInput(false,inputs[no]);
	}
} | 
Partager