Skip to content

Instantly share code, notes, and snippets.

@AlexLazareva
Created October 31, 2016 06:53
Show Gist options
  • Save AlexLazareva/bee4d653d0b000a66316979e0832c2cb to your computer and use it in GitHub Desktop.
Save AlexLazareva/bee4d653d0b000a66316979e0832c2cb to your computer and use it in GitHub Desktop.
Валидация формы
// form validation
jQuery.validator.addMethod("usPhoneFormat", function (value, element) {
return this.optional(element) || /^([+]?[0-9\s-\(\)]{3,25})*$/i.test(value);
}, "Введите 11 значный номер телефона");
$(document).ready(function(){
//mask form
$(function(){
$(".input-tel").mask("+7 (9 9 9) 9 9 9 - 9 9 - 9 9");
$(".input-tel_2").mask("(999) 999 ?99 9999999");
$(".mask").mask("* * * * * * * *");
$(".js-inn").mask("9999 9999 99?99 999");
$(".js-bik").mask("9999 9999 9");
$(".js-account").mask("9999 9999 9999 9999 ?9999");
});
//validation
$("#form-registration").validate({
rules:{
tel:{
required: true,
usPhoneFormat: true,
},
name:{
required: true,
minlength: 2,
maxlength: 20,
},
surname:{
required: true,
minlength: 2,
maxlength: 20,
},
use:{
required: true
}
},
messages:{
tel:{
required: "Это поле обязательно для заполнения",
},
name:{
required: "Это поле обязательно для заполнения",
minlength: "Длина имени должена быть минимум 2 символа",
maxlength: "Максимальная длина имени 20 символов",
},
surname:{
required: "Это поле обязательно для заполнения",
minlength: "Длина фамилии должена быть минимум 2 символа",
maxlength: "Максимальная длина фамилии 20 символов",
},
use:{
required: "Чтобы продолжить нужно поставить галочку"
}
}
});
$("#form-login").validate({
rules:{
tel:{
required: true,
usPhoneFormat: true,
},
pass:{
required: true,
minlength: 6,
maxlength: 16,
}
},
messages:{
tel:{
required: "Это поле обязательно для заполнения",
},
pass:{
required: "Это поле обязательно для заполнения",
minlength: "Пароль должен быть минимум 6 символа",
maxlength: "Пароль должен быть максимум 16 символов"
}
}
});
$("#form-login_2").validate_popover({
//onsubmit: false,
//popoverPosition: 'right',
rules:{
tel:{
required: true,
},
code:{
required: true,
}
},
messages:{
tel:{
required: " ",
},
code:{
required: "Введите код",
}
}
});
$("#form-login_3").validate_popover({
rules:{
tel:{
required: true,
},
code:{
required: true,
}
},
messages:{
tel:{
required: " ",
},
code:{
required: "Введите код",
}
}
});
$("#form-reg").validate_popover({
rules:{
tel:{
required: true,
},
pass:{
required: true,
minlength: 6,
maxlength: 16,
}
},
messages:{
tel:{
required: " ",
},
pass:{
required: "Введите пароль",
minlength: "Пароль должен быть минимум 6 символа",
maxlength: "Пароль должен быть максимум 16 символов",
}
}
});
$("#form-verify").validate({
rules:{
tel:{
required: true,
usPhoneFormat: true,
},
code:{
required: true,
}
},
messages:{
tel:{
required: "Это поле обязательно для заполнения",
},
code:{
required: "Введите код"
}
}
});
$("#form-pass").validate({
rules:{
tel:{
required: true,
usPhoneFormat: true,
}
},
messages:{
tel:{
required: "Это поле обязательно для заполнения"
}
}
});
$("#form-password").validate({
rules:{
key:{
required: true,
},
pass:{
required: true,
minlength: 6,
maxlength: 16,
},
pass2:{
required: true,
minlength: 6,
maxlength: 16,
}
},
messages:{
key:{
required: "Введите ключ",
},
pass:{
required: "Это поле обязательно для заполнения",
minlength: "Пароль должен быть минимум 6 символа",
maxlength: "Пароль должен быть максимум 16 символов",
},
pass2:{
required: "Это поле обязательно для заполнения",
minlength: "Пароль должен быть минимум 6 символа",
maxlength: "Пароль должен быть максимум 16 символов"
}
}
});
$("#form-profile").validate({
rules:{
tel:{
required: true,
usPhoneFormat: true,
},
email:{
required: true,
email: true,
},
name:{
required: true,
minlength: 2,
maxlength: 20,
},
surname:{
required: true,
minlength: 2,
maxlength: 20,
},
patronymic:{
required: true,
minlength: 2,
maxlength: 20,
},
},
messages:{
tel:{
required: "Это поле обязательно для заполнения",
},
email:{
required: "Это поле обязательно для заполнения",
email: "email должен включать в себя символ @",
},
name:{
required: "Это поле обязательно для заполнения",
minlength: "Длина имени должена быть минимум 2 символа",
maxlength: "Максимальная длина имени 20 символов",
},
surname:{
required: "Это поле обязательно для заполнения",
minlength: "Длина фамилии должена быть минимум 2 символа",
maxlength: "Максимальная длина фамилии 20 символов",
},
patronymic:{
required: "Это поле обязательно для заполнения",
minlength: "Длина отчества должена быть минимум 2 символа",
maxlength: "Максимальная длина отчества 20 символов",
}
}
});
});
<!-- modal-registration -->
<div class="modal fade modal-registration" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-content">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">закрыть <span>×</span></button>
<h4 class="modal__title">Регистрация</h4>
<form class="modal-form" id="form-registration">
<div class="modal-form__item">
<label for="reg-tel" class="modal-form__input-text">Номер телефона</label>
<p class="modal-form__input-box">
<input id="reg-tel" type="text" class="modal-form__input input-tel" name="tel" required>
</p>
<p class="modal-form__text modal-form__text--margin">
Ваш номер будет логином для входа на сайт. Для защиты Вашего аккаунтамы вышлем на Ваш мобильный телефон бесплатное сообщение с кодом. <br> Вся процедура бесплатная
</p>
</div>
<div class="modal-form__item">
<label for="reg-name" class="modal-form__input-text">Имя</label>
<input id="reg-name" type="text" class="modal-form__input" name="name" >
</div>
<div class="modal-form__item">
<label for="reg-surname" class="modal-form__input-text">Фамилия</label>
<input id="reg-surname" type="text" class="modal-form__input" name="surname" >
</div>
<div class="modal-form__item">
<input type="checkbox" class="modal-form__check" id="consent" name="use" required>
<label for="consent" class="modal-form__check-text">
Я подтверждаю свое согласие с <a href="#">правилами пользования</a> Сайтом и даю согласие на обработку своих персональных данных
</label>
</div>
<div class="modal-form__item">
<input type="checkbox" class="modal-form__check" id="remember">
<label for="remember" class="modal-form__check-text">
<span>Запомнить меня</span>
</label>
</div>
<button type="submit" class="btn btn-modal btn-modal--margin">Зарегистрироваться</button>
</form>
<footer class="modal__footer">
<p class="modal__text">У вас уже есть аккаунт?</p>
<a href="#" id="modal-login" class="modal__link" >Авторизоваться</a>
</footer>
</div>
</div>
<!-- /END modal-registration -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment