У меня есть некоторые функции для проверки и другая функция с именем «validation()», чтобы вызвать все мои функции проверки. перед переданной формой эта функция вызывает и функции, называемые run in sequence, и когда один из них возвращает false, следующая функция не вызывает. моя просьба - как я могу их назвать самостоятельно?
вот часть моего кода:как вызвать функции самостоятельно?
function IsEmail() {
rows = document.getElementById('txtRows').value.split('#');
types = document.getElementById('txtTypes').value.split('#');
var CorrectFormat = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
msg_req = "";
var flg = true;
for (i = 0; i < rows.length; i++) {
if (types[i] == "email") {
var ctrl_val = document.getElementById('ctrl-' + i).value;
if (!CorrectFormat.test(ctrl_val)) {
msg_req += "invalid format ! \n";
flg = false;
}
}
}
if (flg)
return true;
else
return false;
}
function validations() {
if (!(required_field()) || !(Is Email())) {
var str = "there are some errors :\n";
if (msg_req != "") {
str += msg_req;
alert(str);
}
msg_req = "";
return false;
}
else {
msg_req = "";
return true;
}
}
Я могу ошибаться, но мне кажется, что эти две функции (required_field и isEmail) имеют побочный эффект изменения переменной экземпляра под названием msg_req. Я не слишком люблю такие вещи, возможно, лучше добавить результаты в локальную переменную msg_req, и если ваша первая, если проверить, не является ли эта переменная пустой. –