Постепенно изучаю jQuery и учусь писать если не идеально правильный, то хотя бы похожий на него код. Есть несколько почти идентичных форм на сайте и под каждую написан свой jQuery код(меняются поля, их обработка и sendmail.php). По сути это одно и тоже с разным названием и хотел бы узнать как можно сократить.
Пример с проверкой имени и телефона, который используется в каждой форме:
var nameval = $("#name").val();
var namevalid = validateName(nameval);
var phoneval = $("#phone").val();
var phonevalid = validatePhone(phoneval);
if(namevalid == false) {
$(".field-name").addClass("error");
}
else if(namevalid == true){
$(".field-name").removeClass("error");
}
if(phonevalid == false) {
$(".field-phone").addClass("error");
}
else if(phonevalid == true){
$(".field-phone").removeClass("error");
}
Так же, чтобы проверка работала, в каждой секции с формой есть код:
function validateName(name) {
var reg = /^[а-яё\s]+$/iu;
return reg.test(name);
}
function validatePhone(phone) {
var reg = /[0-9,\s]/i;
return reg.test(phone);
}
Что, как мне кажется, тоже есть не совсем правильно и это должно быть глобально.
Возможно есть какие-либо документации или статьи на эту тему? Чтобы это не было просто CTRL+C/V.
не в качестве ответа, а поскольку в коммент кода толком не добавишь.
if в ветке elsetoggleClassусловно:
var conf = [
{ field: "name", check: nameValid },
{ field: "phone", check: phoneValid },
];
conf.forEach(function(cfg){
var $f = $(".field-" + cfg.field);
var valid = cfg.check( $f.val() );
$f.toggleClass('has-error', valid);
}) ;
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости