0
我有一個叫做Validation
的函數,它包含三個函數。現在,當我想從一個函數調用另一個函數內部Validation
即第13行然後我得到這個錯誤當前對象中的函數不能被調用。爲什麼?
Uncaught TypeError: Object [object Object] has no method 'validateAddress'
這裏是我的代碼
var Validation = function() {
var inputs, field, errors = [], self = this,
emptyFieldsValidation = function() {
$('#form input').each(function (i, el) {
inputs = $(this);
if (inputs.val() == '') {
inputs.css('border', '1px solid red');
return errors.push('emptyFields');
} else {
inputs.css('border', '1px solid #ccc');
if (inputs.hasClass('from')) {
if (!self.validateAddress(inputs.val()))
errors.push('invalidFromAddress');
}
if (inputs.hasClass('to')) {
if (!self.validateAddress(inputs.val()))
errors.push('invalidToAddress');
}
if (inputs.hasClass('time')) {
if (!self.validateForNumber(inputs.val()))
errors.push('invalidTime');
}
}
});
return !!errors.length;
},
validateAddress = function (val) {
var streetregex = /^[\w+\s]+\d+,\s*[\s\w]+$/;
if (streetregex.test(val)) return true;
else return false;
},
validateForNumber = function (val) {
if (!isNaN(val)) return true;
else return false;
};
return {
emptyFieldsValidation: emptyFieldsValidation
};
}
不應該將'Validation'作爲'object'而不是'function'嗎? –