Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Валидация формы (https://javascript.ru/forum/dom-window/75400-validaciya-formy.html)

LocoThatCould 06.10.2018 14:28

fr - это id формы..

LocoThatCould 06.10.2018 14:29

Вставил после return result; в функции validate

LocoThatCould 06.10.2018 14:37

if(!validate()) {
      fr.preventDefault();
    }


?

LocoThatCould 06.10.2018 14:38

Форма

<form id="fr" onsubmit="validate();">

LocoThatCould 06.10.2018 14:59

Крч нашаманил, сам немогу понять как это работает но.. убрал result в

result = true;

Хз, вот думаю как.. возвращается 2 result получается и происходит путанница? ДА поидее так.. остается 1 тру в email и 2 false.. крч я думаю лучше сделать 2 функции проверки чтобы два результата было и добавить проверку этих результатов.. Я верно думаю?

LocoThatCould 06.10.2018 15:00

var userEmail = document.getElementById("username"),
      userPass = document.getElementById("pass")
var regexp = new RegExp("^([a-z0-9_-]+\.)*[a-z0-9_-]+@[a-z0-9_-]+(\.[a-z0-9_-]+)*\.[a-z]{2,6}$");
var regexpP = new RegExp("^[a-zA-Z0-9!@#$%^&*]{6,16}$");



function validate() {
   var result = false;
   if(!regexp.test(userEmail.value)) {
       userEmail.style.border = "2px solid red";
       
       result = false;
      alert('Некорректно введен Email!')
   } else {
       userEmail.style.border = "2px solid green";
       	result = true;											          
   }
   if(!regexpP.test(userPass.value)) {
       userPass.style.border = "2px solid red";
       result = false;
      alert('Некорректно введен Пароль!')
   } else {
       userPass.style.border = "2px solid green";
       
   }
    return result;

}

Nexus 06.10.2018 19:20

document.querySelector('#fr').addEventListener('submit',function(e){
    if(!validate())
        e.preventDefault();
});

LocoThatCould 07.10.2018 08:37

не робит)) можете фул версию со всем скриптом скинуть, а то мб я не туда поставил)

Nexus 07.10.2018 09:38

LocoThatCould,
<form id="fr">
    <input type="text" id="username" />
    <input type="password" id="pass" />
    <input type="submit" />
</form>
<script>
    document.querySelector('#fr').addEventListener('submit', function(e) {
        if (!validate())
            e.preventDefault();
    });

    var userEmail = document.getElementById("username"),
        userPass = document.getElementById("pass"),
        regexp = new RegExp("^([a-z0-9_-]+\.)*[a-z0-9_-]+@[a-z0-9_-]+(\.[a-z0-9_-]+)*\.[a-z]{2,6}$"),
        regexpP = new RegExp("^[a-zA-Z0-9!@#$%^&*]{6,16}$");


    function validate() {
        var result = regexp.test(userEmail.value);
        if (!result) {
            userEmail.style.border = "2px solid red";
            alert('Некорректно введен Email!');
        } else
            userEmail.style.border = "2px solid green";


        if (!regexpP.test(userPass.value)) {
            result = false;
            userPass.style.border = "2px solid red";
            alert('Некорректно введен Пароль!')
        } else
            userPass.style.border = "2px solid green";


        return result;
    }
</script>


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