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
| 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