mirror of
				https://github.com/pierre42100/ComunicWeb
				synced 2025-11-04 04:04:20 +00:00 
			
		
		
		
	Check login inputs
This commit is contained in:
		
							
								
								
									
										76
									
								
								assets/js/common/formChecker.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										76
									
								
								assets/js/common/formChecker.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,76 @@
 | 
				
			|||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * 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;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
@@ -140,6 +140,25 @@ var ComunicWeb = {
 | 
				
			|||||||
            getAndShowJSONtemplate: function(targetElem, templateURI, additionalData, afterParsingJSONtemplate, cleanContener){},
 | 
					            getAndShowJSONtemplate: function(targetElem, templateURI, additionalData, afterParsingJSONtemplate, cleanContener){},
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /**
 | 
				
			||||||
 | 
					         * Functions to check data input in forms
 | 
				
			||||||
 | 
					         */
 | 
				
			||||||
 | 
					        formChecker: {
 | 
				
			||||||
 | 
					            //TODO : implement
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /**
 | 
				
			||||||
 | 
					         * Notification system
 | 
				
			||||||
 | 
					         */
 | 
				
			||||||
 | 
					        notificationSystem: {
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
 | 
					            /**
 | 
				
			||||||
 | 
					             * Display a notification
 | 
				
			||||||
 | 
					             */
 | 
				
			||||||
 | 
					            showNotification: function(message, notifType, notifDuration, notifTitle){},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        /**
 | 
					        /**
 | 
				
			||||||
         * Network common requests
 | 
					         * Network common requests
 | 
				
			||||||
         */
 | 
					         */
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										38
									
								
								assets/js/common/notifications.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								assets/js/common/notifications.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,38 @@
 | 
				
			|||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Notification system
 | 
				
			||||||
 | 
					 * 
 | 
				
			||||||
 | 
					 * @author Pierre HUBERT
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ComunicWeb.common.notificationSystem = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Display a notification
 | 
				
			||||||
 | 
					     * 
 | 
				
			||||||
 | 
					     * @param {String} message The message to show on the screen
 | 
				
			||||||
 | 
					     * @param {String} notifType Specify the notification type (info, error, success)
 | 
				
			||||||
 | 
					     * @param {Integer} notifDuration Optionnal, specify how much time the message will appear in seconds
 | 
				
			||||||
 | 
					     * @param {String} notifTitle The title of the notification
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    showNotification: function(message, notifType, notifDuration, notifTitle){
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        //Check if a notification type was specified
 | 
				
			||||||
 | 
					        if(!notifType){
 | 
				
			||||||
 | 
					            notifType = "info";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        //Check if a notification duration was specified
 | 
				
			||||||
 | 
					        if(!notifDuration){
 | 
				
			||||||
 | 
					            notifDuration = 4;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        //Check if a notification title was specified
 | 
				
			||||||
 | 
					        if(!notifTitle){
 | 
				
			||||||
 | 
					            notifTitle = "";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        //DEV - show an alert while no notif system is implemented
 | 
				
			||||||
 | 
					        alert("notif " + notifType + ": " + message);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -61,8 +61,24 @@ ComunicWeb.pages.login = {
 | 
				
			|||||||
     * @return {Boolean} False if it fails
 | 
					     * @return {Boolean} False if it fails
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    loginSubmit: function(){
 | 
					    loginSubmit: function(){
 | 
				
			||||||
        alert("Login");
 | 
					        //Get inputs
 | 
				
			||||||
 | 
					        var usermail = document.getElementById("usermail"); //Usermail
 | 
				
			||||||
 | 
					        var userpassword = document.getElementById("userpassword"); //Password
 | 
				
			||||||
 | 
					        var rememberLogin = document.getElementById("rememberLogin"); //Remember login
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        //var overlay = ComunicWeb.common.page.showTransparentWaitSplashScreen();
 | 
					        //Check inputs
 | 
				
			||||||
 | 
					        if(!(
 | 
				
			||||||
 | 
					            ComunicWeb.common.formChecker.checkInput(usermail, true) && //Check usermail input
 | 
				
			||||||
 | 
					            ComunicWeb.common.formChecker.checkInput(userpassword, true) //Check password input
 | 
				
			||||||
 | 
					        )){
 | 
				
			||||||
 | 
					           //Error notification
 | 
				
			||||||
 | 
					           ComunicWeb.common.notificationSystem.showNotification("Please check what you've typed !", "error");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					           //Stop function execution
 | 
				
			||||||
 | 
					           return false;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					       
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        var overlay = ComunicWeb.common.page.showTransparentWaitSplashScreen();
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
@@ -10,18 +10,18 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    <div id="loginForm">
 | 
					    <div id="loginForm">
 | 
				
			||||||
      <div class="form-group has-feedback">
 | 
					      <div class="form-group has-feedback">
 | 
				
			||||||
        <input type="email" class="form-control" placeholder="Email" />
 | 
					        <input type="email" class="form-control" placeholder="Email" id="usermail" />
 | 
				
			||||||
        <span class="glyphicon glyphicon-envelope form-control-feedback"></span>
 | 
					        <span class="glyphicon glyphicon-envelope form-control-feedback"></span>
 | 
				
			||||||
      </div>
 | 
					      </div>
 | 
				
			||||||
      <div class="form-group has-feedback">
 | 
					      <div class="form-group has-feedback">
 | 
				
			||||||
        <input type="password" class="form-control" placeholder="Password" />
 | 
					        <input type="password" class="form-control" placeholder="Password" id="userpassword" />
 | 
				
			||||||
        <span class="glyphicon glyphicon-lock form-control-feedback"></span>
 | 
					        <span class="glyphicon glyphicon-lock form-control-feedback"></span>
 | 
				
			||||||
      </div>
 | 
					      </div>
 | 
				
			||||||
      <div class="row">
 | 
					      <div class="row">
 | 
				
			||||||
        <div class="col-xs-8">
 | 
					        <div class="col-xs-8">
 | 
				
			||||||
          <div class="checkbox icheck">
 | 
					          <div class="checkbox icheck">
 | 
				
			||||||
            <label>
 | 
					            <label>
 | 
				
			||||||
              <input type="checkbox" /> Remember Me
 | 
					              <input type="checkbox" id="rememberLogin" /> Remember Me
 | 
				
			||||||
            </label>
 | 
					            </label>
 | 
				
			||||||
          </div>
 | 
					          </div>
 | 
				
			||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -45,6 +45,8 @@ $config['JSfiles'] = array(
 | 
				
			|||||||
    "%PATH_ASSETS%js/common/debug.js",
 | 
					    "%PATH_ASSETS%js/common/debug.js",
 | 
				
			||||||
    "%PATH_ASSETS%js/langs/en.inc.js",
 | 
					    "%PATH_ASSETS%js/langs/en.inc.js",
 | 
				
			||||||
    "%PATH_ASSETS%js/common/page.js",
 | 
					    "%PATH_ASSETS%js/common/page.js",
 | 
				
			||||||
 | 
					    "%PATH_ASSETS%js/common/notifications.js",
 | 
				
			||||||
 | 
					    "%PATH_ASSETS%js/common/formChecker.js",
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    //User scripts
 | 
					    //User scripts
 | 
				
			||||||
    "%PATH_ASSETS%js/user/loginTokens.js",
 | 
					    "%PATH_ASSETS%js/user/loginTokens.js",
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user