Вход

Просмотр полной версии : Как можно сократить код?


DivMan
08.10.2019, 12:17
Делаю проверку на заполение формы регистрации.

Если какое-то поле не заполнено, то выводит это поле.

Как избавится от дублирования?


if(result['error']) {
errorRegisterEmail.innerHTML = result['error'];
errorRegisterLogin.innerHTML = '';
errorRegisterPassword.innerHTML = '';
}

else if(result['login'] && result['email'] && result['password']) {
errorRegisterLogin.innerHTML = result['login'];
errorRegisterEmail.innerHTML = result['email'];
errorRegisterPassword.innerHTML = result['password'];
}

else if(result['login'] && typeof(result['email']) == "undefined" && typeof(result['password']) == "undefined") {
errorRegisterLogin.innerHTML = result['login'];
errorRegisterEmail.innerHTML = '';
errorRegisterPassword.innerHTML = '';
}

else if(typeof(result['login']) == "undefined" && result['email'] && result['password']) {
errorRegisterLogin.innerHTML = '';
errorRegisterEmail.innerHTML = result['email'];
errorRegisterPassword.innerHTML = result['password'];
}

else if(typeof(result['login']) == "undefined" && typeof(result['email']) == "undefined" && result['password']) {
errorRegisterLogin.innerHTML = '';
errorRegisterEmail.innerHTML = '';
errorRegisterPassword.innerHTML = result['password'];
}

else if(typeof(result['login']) == "undefined" && typeof(result['email']) == "undefined" && typeof(result['password']) == "undefined") {
errorRegisterLogin.innerHTML = '';
errorRegisterEmail.innerHTML = '';
errorRegisterPassword.innerHTML = '';
}

else if(typeof(result['login']) == "undefined" && result['email'] && typeof(result['password']) == "undefined") {
errorRegisterLogin.innerHTML = '';
errorRegisterEmail.innerHTML = result['email'];
errorRegisterPassword.innerHTML = '';
}

ksa
08.10.2019, 12:28
Как избавится от дублирования?
Не делать его. :D

Как вариант...

errorRegisterLogin.innerHTML = '';
errorRegisterPassword.innerHTML = '';
if(result['error']) {
errorRegisterEmail.innerHTML = result['error'];
} else {
errorRegisterLogin.innerHTML = result['login']||'';
errorRegisterEmail.innerHTML = result['email']||'';
errorRegisterPassword.innerHTML = result['password']||'';
};

DivMan
08.10.2019, 13:40
Спасибо