Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как можно сократить код? (https://javascript.ru/forum/events/78594-kak-mozhno-sokratit-kod.html)

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

Цитата:

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

Не делать его. :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

Спасибо


Часовой пояс GMT +3, время: 09:53.