Validate username exists on keypress

This commit is contained in:
jonfalcon
2016-02-16 16:10:31 -08:00
parent 8566dd6afa
commit ac3a0eacfa
5 changed files with 130 additions and 40 deletions
+10 -6
View File
@@ -784,6 +784,10 @@
.um-faicon-spinner:before {
content: "\f110";
}
.um-faicon-spin {
-webkit-animation: um-faicon-spin 2s infinite linear;
animation: um-faicon-spin 2s infinite linear;
}
.um-faicon-circle:before {
content: "\f111";
}
@@ -1532,7 +1536,7 @@
content: "\f20c";
}
@-moz-keyframes spin {
@-moz-keyframes um-faicon-spin {
0% {
-moz-transform: rotate(0deg);
}
@@ -1540,7 +1544,7 @@
-moz-transform: rotate(359deg);
}
}
@-webkit-keyframes spin {
@-webkit-keyframes um-faicon-spin {
0% {
-webkit-transform: rotate(0deg);
}
@@ -1548,7 +1552,7 @@
-webkit-transform: rotate(359deg);
}
}
@-o-keyframes spin {
@-o-keyframes um-faicon-spin {
0% {
-o-transform: rotate(0deg);
}
@@ -1556,7 +1560,7 @@
-o-transform: rotate(359deg);
}
}
@-ms-keyframes spin {
@-ms-keyframes um-faicon-spin {
0% {
-ms-transform: rotate(0deg);
}
@@ -1564,11 +1568,11 @@
-ms-transform: rotate(359deg);
}
}
@keyframes spin {
@keyframes um-faicon-spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(359deg);
}
}
}
+10 -1
View File
@@ -753,6 +753,15 @@ small.um-max-filesize span{
}
.um-form .um-field .um-field-area input.um-form-field.um-validate-not-matched,
.um-form .um-field .um-field-area input.um-form-field.um-validate-not-matched:focus {
.um-form .um-field .um-field-area input.um-form-field.um-validate-not-matched:focus,
.um-form .um-field .um-field-area input.um-form-field.um-validate-username-exists,
.um-form .um-field .um-field-area input.um-form-field.um-validate-username-exists:focus {
border-color: #DB2929 !important;
}
.um-form .um-field .um-field-area input.um-searching-username {
background-image: url('../img/loading.gif');
background-position: right center;
background-repeat: no-repeat;
background-size: 24px 24px;
}
+59 -1
View File
@@ -211,11 +211,69 @@ function UM_check_password_matched() {
}
});
}
var xhrValidateUsername = false;
function UM_check_username() {
jQuery(document).on('input[data-key=user_login]').on('keyup', function() {
var field = jQuery('input[data-key=user_login]');
var value = field.val();
if(field.parents('.um-field').find('.um-field-error').length) {
var error = field.parents('.um-field').find('.um-field-error');
} else {
var error = jQuery('<div class="um-field-error"><span class="um-field-arrow"><i class="um-faicon-caret-up"></i></span>Your username is already taken</div>');
}
// abort previous xhr request
if(xhrValidateUsername) {
xhrValidateUsername.abort();
}
if(!value) {
field.removeClass('um-searching-username');
return;
}
field.addClass('um-searching-username');
xhrValidateUsername = jQuery.ajax({
url : um_scripts.ajaxurl,
type : 'post',
data : {
action : 'ultimatemember_check_username_exists',
username : value
},
complete: function(){
field.removeClass('um-searching-username');
},
success: function(exists){
if(parseInt(exists) > 0) {
field.removeClass('um-validate-username-unique').addClass('um-validate-username-exists');
if(!field.parents('.um-field').find('.um-field-error').length) {
field.parents('.um-field').append(error);
}
error.show();
} else {
field.removeClass('um-validate-username-exists').addClass('um-validate-username-unique');
error.hide();
}
}
});
});
}
jQuery(document).ready(function(){
if(jQuery('input[data-key=user_password],input[data-key=confirm_user_password]').length == 2) {
UM_check_password_matched();
}
})
if(jQuery('input[data-key=user_login]').length) {
UM_check_username();
}
});
function UM_hide_menus() {