LT-97: Password validation

LT-107: Login session timeout after 30 min
This commit is contained in:
Aysel Afsar committed 2016-02-02 10:25:02 -05:00
1 parent 59a6905eb0
commit d3671a5bdd
15 files changed
+868 -56

No files matched your search

+38 -14
View File
@@ -31,6 +31,9 @@ if (Meteor.isClient) {
ActiveEntry.errorMessages = new ReactiveDict('errorMessages');
ActiveEntry.errorMessages.set('signInError', false);
// Success messages
ActiveEntry.successMessages = new ReactiveDict('successMessages');
}
@@ -46,39 +49,48 @@ ActiveEntry.configure = function (configObject) {
ActiveEntry.verifyPassword = function (password) {
if (password.length === 0) {
ActiveEntry.errorMessages.set('password', 'Password is required');
} else if (password.length < 8) {
ActiveEntry.errorMessages.set('password', 'Password is weak');
} else if (password.length >= 8) {
ActiveEntry.errorMessages.set('password', 'Password present');
}
};
ActiveEntry.verifyConfirmPassword = function (password, confirmPassword) {
if (confirmPassword.length === 0) {
ActiveEntry.errorMessages.set('confirm', 'Password is required');
} else if (confirmPassword.length < 8) {
ActiveEntry.errorMessages.set('confirm', 'Password is weak');
ActiveEntry.successMessages.set('password', null);
} else if (!validatePassword(password)) {
ActiveEntry.errorMessages.set('password', 'Password is invalid');
ActiveEntry.successMessages.set('password', null);
} else {
//ActiveEntry.errorMessages.set('password', 'Password present');
ActiveEntry.errorMessages.set('password', null);
ActiveEntry.successMessages.set('password', 'Password present');
}
};
ActiveEntry.verifyConfirmPassword = function (password, confirmPassword) {
if (confirmPassword === password) {
ActiveEntry.errorMessages.set('confirm', 'Passwords match');
//ActiveEntry.errorMessages.set('confirm', 'Passwords match');
ActiveEntry.errorMessages.set('confirm', null);
ActiveEntry.successMessages.set('confirm', 'Passwords match');
}
};
ActiveEntry.verifyEmail = function (email) {
if (email.length === 0) {
ActiveEntry.errorMessages.set('email', 'Email is required');
ActiveEntry.successMessages.set('email', null);
} else if (email.indexOf("@") === -1){
ActiveEntry.errorMessages.set('email', 'Email is poorly formatted');
ActiveEntry.successMessages.set('email', null);
} else if (email.indexOf("@") >= 0){
ActiveEntry.errorMessages.set('email', 'Email present');
//ActiveEntry.errorMessages.set('email', 'Email present');
ActiveEntry.errorMessages.set('email', null);
ActiveEntry.successMessages.set('email', 'Email present');
}
};
ActiveEntry.verifyFullName = function (fullName) {
if (fullName.length === 0) {
ActiveEntry.errorMessages.set('fullName', 'Name is required');
ActiveEntry.successMessages.set('fullName', null);
} else if (fullName.indexOf(" ") === -1){
ActiveEntry.errorMessages.set('fullName', 'Name is probably not complete');
ActiveEntry.successMessages.set('fullName', null);
} else if (fullName.indexOf(" ") >= 0){
ActiveEntry.errorMessages.set('fullName', 'Name present');
//ActiveEntry.errorMessages.set('fullName', 'Name present');
ActiveEntry.errorMessages.set('fullName', null);
ActiveEntry.successMessages.set('fullName', 'Name present');
}
};
@@ -104,6 +116,18 @@ ActiveEntry.signUp = function (emailValue, passwordValue, confirmPassword, fullN
ActiveEntry.verifyConfirmPassword(passwordValue, confirmPassword);
ActiveEntry.verifyFullName(fullName);
var errorIsFound = false;
Object.keys(ActiveEntry.errorMessages.keys).forEach(function(key) {
if (ActiveEntry.errorMessages.get(key) !== "null" && ActiveEntry.errorMessages.get(key) !== null) {
errorIsFound = true;
}
});
if(errorIsFound) {
// TODO: Show error messages
return;
}
Accounts.createUser({
email: emailValue,
password: passwordValue,