-2
Я выполняю функцию проверки, submitForm
функция - проверить значение возвращаемой функции true или false, но у меня есть эта ошибка, я не знаю почему.функция проверки достоверности, «длина» неопределенного
Uncaught TypeError: Cannot read property 'length' of undefined
var ClassSignUpValidation = function(){};
ClassSignUpValidation.prototype.CheckName = function (_target)
{
return false;
}
ClassSignUpValidation.prototype.CheckPassword = function (_target)
{
return false;
}
//SUBMIT FORM VALIDATION
ClassSignUpValidation.prototype.SubmitForm = function (event)
{
var sumbit_errorspan = $("#submit-errorResult");
//array validation function
var validators = [this.CheckName, this.CheckPassword];
// bypass all function
var valid = validators.reduce(function(valid, validator){
return validator() && valid;
}, true);
if(valid){
sumbit_errorspan.html('');
}else{
sumbit_errorspan.css('color', 'red');
sumbit_errorspan.html('sumbit not requirements.');
}
return valid;
}
точка ошибки
ClassSignUpValidation.prototype.CheckName = function (_target)
{
//set target id to jquery
_target = "#" + _target;
//set variable
var username_target = $(_target);
var username_value = username_target.val();
var username_errorspan = $("#user-errorResult");
****//here is the error****
if (username_value.length >= 4){
$.ajax({
type:"POST",
url:"/main/class/classvalidation.php",
async:false,
data:{
"username": username_value
},
success: function(data)
{
var usernameAvailable = JSON.parse(data);
var color = usernameAvailable.exists ? "#dfe0e6" : "red";
username_errorspan.html(usernameAvailable.message);
username_errorspan.css("color", color);
username_target.css("border-color", color);
if(usernameAvailable.exists === true){
return true;
}
}
});
};
return false;
}
ошибка здесь является точкой ошибки в
if (username_value.length >= 4){
ошибка не соответствует коду вы предоставляете. Я не вижу доступа к свойствам длины нигде. Проверьте, является ли другая часть вашего кода виновной. –
Я не уверен, что не так – babayaga
Функция CheckName ожидает _target, иначе она будет равна нулю. Таким образом, весь процесс разваливается, и длина null будет неопределенной. 'return validator() && valid;' это строка, в которой вы можете передать _target –