mirror of
https://github.com/pierre42100/ComunicWeb
synced 2024-11-23 20:49:21 +00:00
76 lines
2.2 KiB
JavaScript
76 lines
2.2 KiB
JavaScript
|
/**
|
||
|
* Function to check data input in forms
|
||
|
*
|
||
|
* @author Pierre HUBERT
|
||
|
*/
|
||
|
ComunicWeb.common.formChecker = {
|
||
|
|
||
|
/**
|
||
|
* Check an input
|
||
|
*
|
||
|
* @param {elem} input The input element to check
|
||
|
* @param {Boolean} inFormGroup Specify wether the input is in a formgroup or not
|
||
|
* @return {Boolean} True or false depending of the validity of the field
|
||
|
*/
|
||
|
checkInput: function(input, inFormGroup){
|
||
|
//Check input existence
|
||
|
if(!input){
|
||
|
//Error message
|
||
|
ComunicWeb.debug.logMessage("ComunicWeb.common.formChecker.checkInput requires at least on input !");
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
//Extract input type
|
||
|
var inputType = input.type;
|
||
|
|
||
|
//Prepare checking
|
||
|
var inputOK = true;
|
||
|
|
||
|
//TextInput
|
||
|
if(inputType == "text"){
|
||
|
inputOK = (input.value == "" ? false:true);
|
||
|
}
|
||
|
|
||
|
//MailInput
|
||
|
else if(inputType == "email"){
|
||
|
inputOK = input.value.match(/^[a-zA-Z0-9_.]+@[a-zA-Z0-9-]{1,}[.][a-zA-Z]{2,3}$/);
|
||
|
}
|
||
|
|
||
|
//Password input
|
||
|
else if(inputType == "password"){
|
||
|
inputOK = (input.value == "" ? false:true);
|
||
|
}
|
||
|
|
||
|
//Unsupported input type
|
||
|
else {
|
||
|
ComunicWeb.debug.logMessage("ComunicWeb.common.formChecker.checkInput input type '" + inputType + "' not supported !");
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
//If possible, change input state
|
||
|
if(inFormGroup){
|
||
|
//Retrieve parent node
|
||
|
var parentNode = input.parentNode;
|
||
|
|
||
|
//If there is no error, remove has-error attribute
|
||
|
if(inputOK){
|
||
|
if(parentNode.className.indexOf("has-error") != -1){
|
||
|
//Remove has-error attribute
|
||
|
parentNode.className = parentNode.className.replace("has-error", "");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
//If there is an error, check the has-error attribute is present
|
||
|
if(!inputOK){
|
||
|
if(parentNode.className.indexOf("has-error") == -1){
|
||
|
//Add has-error attribute
|
||
|
parentNode.className = parentNode.className + " has-error";
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
//Return result
|
||
|
return inputOK;
|
||
|
}
|
||
|
|
||
|
};
|