Итак, есть форма.
По submit форма проходит валидацию на стороне клиента, чтобы отправиться с помощью AJAX на сервер уже валидной.
Объект для работы с формой ниже. В нём метод отправки, "post":
var FuckingForm = {
post: function() {
if(!FuckingForm.file.files[0] && FuckingForm.textArea.value.replace('\n', '') == '') {
FuckingForm.alert.className = "error";
FuckingForm.alert.textContent = 'Please enter a message and/or upload an image to make a reply';
return;
}
if(FuckingForm.textArea.value.length > $maxMessageLength) {
FuckingForm.alert.className = "error";
FuckingForm.alert.textContent = "Please shorten your message, or post it in multiple parts.";
return;
}
if(FuckingForm.file.files[0] && FuckingForm.file.files[0].size > $maxFileSize) {
FuckingForm.alert.className = "error";
FuckingForm.alert.textContent = 'That file is larger than '+ Math.floor($maxFileSize/1024/1024) +'MB';
return;
}
/* Далее AJAX-отправка */
}
}
Так вот, захотелось перенести валидацию в отдельную функцию. Т.е. так:
var FuckingForm = {
post: function() {
FuckingForm.validate();
/* Далее AJAX-отправка */
}
}
Можно-ли остановить функцию post из функции validate? Т.е. в validate, если что-то не так, будет останавливать функцию post. Пока-что единственное что пришло в голову - проверять возвращаемое значение validate.
var FuckingForm = {
post: function() {
if(!FuckingForm.validate()) {
return;
}
/* Далее AJAX-отправка */
}
}
Вот суть: можно-ли остановить выполнение функции из другой функции?