register.js cleanup

v1.18.x
barisusakli 11 years ago
parent d8e00f95a2
commit 7668b95c66

@ -1,22 +1,13 @@
define(function() { 'use strict';
var Register = {};
Register.init = function() { /* globals define, app, utils, socket, config */
var username = $('#username'),
password = $('#password'),
password_confirm = $('#password-confirm'), define(function() {
register = $('#register'), var Register = {},
emailEl = $('#email'),
username_notify = $('#username-notify'),
email_notify = $('#email-notify'),
password_notify = $('#password-notify'),
password_confirm_notify = $('#password-confirm-notify'),
agreeTerms = $('#agree-terms'),
validationError = false, validationError = false,
successIcon = '<i class="fa fa-check"></i>'; successIcon = '<i class="fa fa-check"></i>';
$('#referrer').val(app.previousUrl);
function showError(element, msg) { function showError(element, msg) {
element.html(msg); element.html(msg);
element.parent() element.parent()
@ -34,17 +25,21 @@ define(function() {
element.show(); element.show();
} }
function validateEmail() { function validateEmail(email) {
if (!emailEl.val()) { var email_notify = $('#email-notify');
if (!email) {
validationError = true; validationError = true;
return; return;
} }
if (!utils.isEmailValid(emailEl.val())) { if (!utils.isEmailValid(email)) {
showError(email_notify, 'Invalid email address.'); showError(email_notify, 'Invalid email address.');
} else { return;
}
socket.emit('user.emailExists', { socket.emit('user.emailExists', {
email: emailEl.val() email: email
}, function(err, exists) { }, function(err, exists) {
if(err) { if(err) {
return app.alertError(err.message); return app.alertError(err.message);
@ -57,27 +52,24 @@ define(function() {
} }
}); });
} }
}
emailEl.on('blur', function() { function validateUsername(username) {
validateEmail(); var username_notify = $('#username-notify');
});
function validateUsername() { if (!username) {
if (!username.val()) {
validationError = true; validationError = true;
return; return;
} }
if (username.val().length < config.minimumUsernameLength) { if (username.length < config.minimumUsernameLength) {
showError(username_notify, 'Username too short!'); showError(username_notify, 'Username too short!');
} else if (username.val().length > config.maximumUsernameLength) { } else if (username.length > config.maximumUsernameLength) {
showError(username_notify, 'Username too long!'); showError(username_notify, 'Username too long!');
} else if (!utils.isUserNameValid(username.val()) || !utils.slugify(username.val())) { } else if (!utils.isUserNameValid(username) || !utils.slugify(username)) {
showError(username_notify, 'Invalid username!'); showError(username_notify, 'Invalid username!');
} else { } else {
socket.emit('user.exists', { socket.emit('user.exists', {
username: username.val() username: username
}, function(err, exists) { }, function(err, exists) {
if(err) { if(err) {
return app.alertError(err.message); return app.alertError(err.message);
@ -92,60 +84,79 @@ define(function() {
} }
} }
username.on('keyup', function() { function validatePassword(password, password_confirm) {
$('#yourUsername').html(this.value.length > 0 ? this.value : 'username'); if (!password) {
});
username.on('blur', function() {
validateUsername();
});
function validatePassword() {
if (!password.val()) {
validationError = true; validationError = true;
return; return;
} }
var password_notify = $('#password-notify'),
password_confirm_notify = $('#password-confirm-notify');
if (password.val().length < config.minimumPasswordLength) { if (password.length < config.minimumPasswordLength) {
showError(password_notify, 'Password too short!'); showError(password_notify, 'Password too short!');
} else if (!utils.isPasswordValid(password.val())) { } else if (!utils.isPasswordValid(password)) {
showError(password_notify, 'Invalid password!'); showError(password_notify, 'Invalid password!');
} else { } else {
showSuccess(password_notify, successIcon); showSuccess(password_notify, successIcon);
} }
if (password.val() !== password_confirm.val() && password_confirm.val() !== '') { if (password !== password_confirm && password_confirm !== '') {
showError(password_confirm_notify, 'Passwords must match!'); showError(password_confirm_notify, 'Passwords must match!');
} }
} }
$(password).on('blur', function() { function validatePasswordConfirm(password, password_confirm) {
validatePassword(); var password_notify = $('#password-notify'),
}); password_confirm_notify = $('#password-confirm-notify');
function validatePasswordConfirm() { if (!password || password_notify.hasClass('alert-error')) {
if (!password.val() || password_notify.hasClass('alert-error')) {
return; return;
} }
if (password.val() !== password_confirm.val()) { if (password !== password_confirm) {
showError(password_confirm_notify, 'Passwords must match!'); showError(password_confirm_notify, 'Passwords must match!');
} else { } else {
showSuccess(password_confirm_notify, successIcon); showSuccess(password_confirm_notify, successIcon);
} }
} }
$(password_confirm).on('blur', function() { Register.init = function() {
validatePasswordConfirm(); var email = $('#email'),
username = $('#username'),
password = $('#password'),
password_confirm = $('#password-confirm'),
register = $('#register'),
agreeTerms = $('#agree-terms');
$('#referrer').val(app.previousUrl);
email.on('blur', function() {
validateEmail(email.val());
});
username.on('keyup', function() {
$('#yourUsername').html(this.value.length > 0 ? this.value : 'username');
});
username.on('blur', function() {
validateUsername(username.val());
});
password.on('blur', function() {
validatePassword(password.val(), password_confirm.val());
});
password_confirm.on('blur', function() {
validatePasswordConfirm(password.val(), password_confirm.val());
}); });
function validateForm() { function validateForm() {
validationError = false; validationError = false;
validateEmail(); validateEmail(email.val());
validateUsername(); validateUsername(username.val());
validatePassword(); validatePassword(password.val(), password_confirm.val());
validatePasswordConfirm(); validatePasswordConfirm(password.val(), password_confirm.val());
return validationError; return validationError;
} }

Loading…
Cancel
Save