mirror of
https://github.com/pierre42100/ComunicWeb
synced 2025-02-16 19:02:40 +00:00
Check login inputs
This commit is contained in:
parent
07c57e965e
commit
92413b3667
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 overlay = ComunicWeb.common.page.showTransparentWaitSplashScreen();
|
var userpassword = document.getElementById("userpassword"); //Password
|
||||||
|
var rememberLogin = document.getElementById("rememberLogin"); //Remember login
|
||||||
|
|
||||||
|
//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",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user