Задать вопрос
natojezlo
@natojezlo

Народ, не могу разобраться с js и валидацией как правильно сделать?

всем доброго времени
1. есть форма
2. есть скрипт, который делает кнопку button активной если введены данные
кнопка типа button не submit
по мимо того, что кнопка активируется введя данные в input, нужно еще каким то образом сделать проверку напр. type="email"
но button выполняет роль следующего шага формы
по этому у меня уже мозг расплавился как сделать эту проверку
код

<script>
function checkParams() {
    var nik= $('#nik').val();
    var email = $('#email').val(); 
    if(nik.length != 0 && email.length != 0) {
        $('#submit').removeAttr('disabled');
    } else {
        $('#submit').attr('disabled', 'disabled');
    }
}
</script>


<form>
<input class="inuser" onkeyup='checkParams()' id="nik" type="text" placeholder="nik">
<input class="inuser" onkeyup='checkParams()' id="email" type="text" placeholder="email">
<button class="next" type="button" disabled>Следующий шаг</button>
</form>
  • Вопрос задан
  • 60 просмотров
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    JavaScript
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик расширенный
    13 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
YumeReaver
@YumeReaver
Бургомистр
Можно jQuery Validate подключить. Пример (для Хоши-инпут, длина логина > 5):

Либо с помощью regexp-ов, проверять на js.
Вот, к примеру, валидация почты с Хромиума:
function validateEmail(email) {
    var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
    return re.test(String(email).toLowerCase());
}

Возвращает true/false.
Ответ написан
Комментировать
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
А button-у то id=submit кто будет прописывать?!
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы