Спасибо за урок. Оказался полезным. Подскажите, как в контексте Вашей функции сделать локализацию служебных сообщений. Самостоятельно не смог разобраться. Заранее благодарен.
Очень много полезной информации, спасибо огромное! Попробовал применить inputmask, сделал все как ты: взял JS (точно не jQuery) вариант плагина (пробовал и минифцированный, и обычный), и при попытке применить метод mask(); компилятор ругается: // Uncaught ReferenceError: $ is not defined. Насколько я знаю это переменная из jQuery, почему он пытается найти ее в версии для ванильного JS я понять не смог. Поделитесь пожалуйста советом, что я делают не так?
messages: { name: { minLength: 'My custom message about only minLength rule' }, email: 'My custom message about error (one error message for all rules)' }, - да вот, в объекте messages
Отличное видео! У меня и маска работает и валидация. А вот отправляться почему то не хочет :( Залил на хостинг, нажимаю отправить а в консоли получаю сообщение об ошибке сервера 500 :( Подскажите пожалуйста где искать, что делать?
@@maxgraph всё получилось! Но вылез неожиданный баг - после отправки формы меню в хедере не работает. Начинает работать только после принудительного обновления сайта :( Есть идеи с чем это связано?
Здравствуйте, скажите пожалуйста. Если я выгрузил эту верстку на бесплатный сервер Githud, но письмо на указанную мною почту не приходит? Это проблема в том что сервер плохой и без нормального домена? или что-то не так понял?
содержимое плагина just validate стало совсем другое, ничего толком не понимаю) так что качаю с вашего гита min.js, и тогда уже с помощью вашего видео получается модифицировать валидацию под себя :(
Спасибо за твои видосы! А есть догадки из-за чего может быть так. Скрипт отрабатывает, сообщение пишет отправлено, но само сообщение на почту не приходит. $mail->setFrom('adm@' . $_SERVER['HTTP_HOST'], 'Your best site'); Ты написал вот так, а поле adm@ это по умолчанию или на разных хостах может быть по другому
Спасибо за ценную информацию!) Очень много узнал по Вашим роликам!) Хочу задать один вопрос, на сайте есть несколько форм, все формы отправляются отлично, кроме той где есть тег select с option , везде name и value прописал, но именно эту форму не отправляет и в консоле выдает ошибку "Failed to construct 'FormData': parameter 1 is not of type 'HTMLFormElement", можете подсказать, что делать в таком случае, или ошибка где-то у меня в коде? Если нужна будет дополнительная информация, могу ли я Вам её прислать, чтобы решить проблему?) Заранее спасибо большое!)
Безусловно круто! Но как сделать "Нажимая на кнопку, я даю согласие на обработку персональных данных и соглашаюсь политикой конфиденциальности."? Что бы без галочки в инпуте нельзя отправить форму.
не могу понять что я делаю не так. Скачал весь код из видео, изменил почту на свою. При клике по кнопке, в консоли пишет "отправлено", а на почту ничего не падает. Пробовал и на опенсервере, и на бесплатном хостинге "beget", итог один
Если ты добавил свою почту в php вместо массива почт, то в этом косяк. Удали и эту строку. В самой почте найти $mail->addAddress($value). И замени value на свою почту. То же самое надо, если будешь убирать заголовок письма из html в php
Спасибо за видео. Сделал все чисто по уроку. Если вводишь в поле телефона даже 1 цифру, то just-validate уже не ругается. Но как выдавать ошибку если input mask заполнен не полностью? Пытался в just validate указать min lenght, но это вообще не помогает
@@maxgraph проверяю с помощью js количество символов в инпуте, пишет всегда 18. походу надо решение в инпутмаск искать. Крыша едет, во вторник надо вопрос решить и работу сдать(
@@maxgraph В итоге решил так: добавил в just-validate в правило strength кастомное регулярное выражение: strength: {custom: '[^_]$'}, которое говорит, что подходит любая строка, которая не содержит знак _ . В inputmask незаполненные значения как раз заменяются нижним подчеркиванием и соответственно валидация не проходит. Может пригодится тебе или еще кому.
@@getmanele Я тестировал на бегет все приходит - github.com/frontend-coder/validateformesjs а вот попытка удалить почтовый ящик из html документа в php создал переменную, обработка масива была закоментирована - не увенчалась успехом - просто письмо не приходило на почту , после удаления переменной - письмо начало приходить так же передача нескольких постовых адресов не увенчалась успехом но тут скорее мой косяк так как не совсем представляю, как его передавать, испробывал несколько вариантов чуть не забыл не могу выловить на какой тег вешается класс ".thanks-popup", я так понял это с Яндекс метрики "send goal" всесто этого нужнго прописать все или что-то из этого - yaCounter44799888.reachGoal('poluchit-besplao'); return true; но если все, это вызовет ошибку
Спасибо за полезное видео. Одна проблема, хочу написать свое регулярное выражение, а валидация проходит по кастомной регулярке(одна заглавная буква, одна маленькая и одна цифра). Всю документацию перерыла не пойму в чем проблема. Хочу чтобы поле имя не пропускало цифры. validateForms('.order__form', { name: {required: true, minLength: 3, strength: { custom: '/[a-z]' }}, tel: {required: true}, address: {required: true,address:true, minLength: 10 }}, {name:{required: 'Вы должны ввести имя'},tel:{required: 'Вы должны ввести телефон'},address:{required: 'Вы должны ввести address'}}, '.thenks-popup', 'send goal');
Все работает и очень круто! ЛАЙК ЕЗЖИ! Только дружище хочу сделать так чтобы при отправке формы (именно когда все введено правильно и данные с формы отправились на почту) вылазило окошко спасибо, я хз куда код вставить) вставил вот так, но все равно окно появляется при клике на кнопку (даже когда поля пустые), помоги по братски) вот вставка: xhr.onreadystatechange = function() { if (xhr.readyState === 4) { if (xhr.status === 200) { console.log('Отправлено'); alert('Сообщение успешно отправленно!'); document.querySelector('.order__button').onclick = function() { document.querySelector('.thank').classList.add('active'); }
document.querySelector('.thank__close').onclick = function() { document.querySelector('.thank').classList.remove('active'); } } } } P.S. JS вообще не знаю, так что без хейта)
Крутое видео, тоже решил переделать свой вариант отправки формы phpmailer и с указанием админ. эмейла непосредственно в скрипте. Ок, $admin_email=example@exam.ex, но сервер возвращает ошибку : Warning: Invalid argument supplied for foreach() in /home/.../docs/mail.php on line 13 There was a problem sending the form.: Пожалуйста, введите хотя бы один email-адрес получателя.
@@maxgraph , есть такая идея- раз адрес в post запросе приходит как массив, и адрес один, то записать так : $admin_email = array(); //foreach ( $_POST["admin_email"] as $key => $value ) { // array_push($admin_email, $value); //} $admin_email[] = 'example@example.ru';
@@maxgraph а почему let? Используйте var )) А если серьезно - let, если вы собираетесь менять переменную. А в вашем случае все переменные - константы. Соответственно пишем const
Вы не ответили на вопрос. Почему я обязательно должен использовать const? Это правило незыблемо? Без него код не работает? Случится катастрофа, если не написать const? Это деление на let и const сделано лишь для удобства, не более.
Я просто в шоке от того, насколько полезное это видео. Спасибо огромное 👍🏿
Еее)
Автор! Да вы просто золотой Человек! Вы этим уроком очень меня выручили. Здоровья Вам и удачи в делах! 🤝
Спасибо) и вам удачи)
Очень полезное видео, как, впрочем, и остальной контент! Спасибо вам!👍
Спасибо))
Поставил сотый лайк👍, контент просто огонь, и объясняешь зачетно Максим
Спасибо!)
Видео - золото! Больше лайков, ребят!
Спасибо)
Актуально 👍
Супер!!! Где же ты раньше был?))
Не знаю))
Блин как раз это и искал,красавчик!
Спасибо)
Крутое видео, много полезного!)
Спасибо)
спасибо. Спустя часы понял, в чем ошибка у меня была)
Спасибо за урок. Оказался полезным. Подскажите, как в контексте Вашей функции сделать локализацию служебных сообщений. Самостоятельно не смог разобраться. Заранее благодарен.
Добрый вечер! Подскажите, а можно зашифровать данные при отправке на почту?
Спасибо, сегодня-завтра все доделаю)
Ну, как обычно документация поможет только тем, кто уже умеет с плагином работать
С чего вдруг?) там все подробно показано, все настройки. Любой, кто работал с любой библиотекой, разберётся при желании
@@maxgraph да. Любой, кто работал. Я так и сказал
Ну у вас все же другой смысл
Массив Емэйлов к доске!
Огромное спасибо! Многое понял)
пожалуйста)
👍👍👍удачи братулек
Спасибо)
Обожаю тебя
Видео крутое.
Очень много полезной информации, спасибо огромное!
Попробовал применить inputmask, сделал все как ты: взял JS (точно не jQuery) вариант плагина (пробовал и минифцированный, и обычный), и при попытке применить метод mask(); компилятор ругается:
// Uncaught ReferenceError: $ is not defined.
Насколько я знаю это переменная из jQuery, почему он пытается найти ее в версии для ванильного JS я понять не смог. Поделитесь пожалуйста советом, что я делают не так?
В идеале бы посмотреть, не могу сразу ответить
Вопрос в том, что а есть ли возможность запускать just-validate , не по событию submit при нажатии кнопки, а например сделать при событии blur?
Думаю что нет
Максим привет! Подскажи пожалуйста, если нет телефона в форме, что тогда передавать в переменную validateForms вместо selector первым параметром?
Я бы посмотрел новую версию видео) в ui компонентах
@@maxgraph уже в чате разобрались Максим, ты ответил уже))Спасибо!
А как русифицировать сообщения об ошибки формы?
messages: {
name: {
minLength: 'My custom message about only minLength rule'
},
email: 'My custom message about error (one error message for all rules)'
}, - да вот, в объекте messages
как установить php mailer autoload?
Скрипт отрабатывает, сообщение пишет отправлено, но само сообщение на почту не приходит. Что делать ?
Проверять, есть ли вообще возможность отправлять у хостинга
@@maxgraph спасибо учитель)) очень полезные видео
@@maxgraph А как проверять?
Привет,не большая проблема тут
Сайт (......) пока не может обработать этот запрос
HTTP ERROR 500
Что это за ошибка?
А не подскажешь, какие хостинги лучше использовать?
Да любой, который подходит по цене. Я пользуюсь fornex - устраивает)
А надо как то подключать mail.php? Или он просто должен находится в папке
Просто положить
Пытался скачать по ссылке и подключить плагин валидации, но не вышло - нет папки dist с вложениями js. Как быть?
Посмотри новое видео на эту тему)
@@maxgraph а подскажите пожалуйста название видео, не могу найти(((
Можно ли делать сообщения приходил на почту pdf формате?
Можно) есть видео на канале про сохранение данных в doc, думаю тем же методом и в pdf можно
Отличное видео! У меня и маска работает и валидация. А вот отправляться почему то не хочет :( Залил на хостинг, нажимаю отправить а в консоли получаю сообщение об ошибке сервера 500 :( Подскажите пожалуйста где искать, что делать?
Возможно ошибка в php
@@maxgraph всё получилось! Но вылез неожиданный баг - после отправки формы меню в хедере не работает. Начинает работать только после принудительного обновления сайта :( Есть идеи с чем это связано?
Угадать оч сложно (
а можно использовать бесплатный хостинг? чтобы затестить
Если он поддерживает отправку - да
Здравствуйте. Помогите пожалуйста. Как сделать валидацию нескольких форм? У меня валидируется только первая форма. Заранее благодарен!
Здравствуйте!
Ну я там как раз писал функцию, её несколько раз вызывать надо с разными данными)
@@maxgraph СПАСИБО большое за вашу работу. Мне в чате подсказали через минуту после того, как я туда вопрос отправил
Видел)) пожалуйста)
Здравствуйте, скажите пожалуйста. Если я выгрузил эту верстку на бесплатный сервер Githud, но письмо на указанную мною почту не приходит? Это проблема в том что сервер плохой и без нормального домена? или что-то не так понял?
На гите не работает отправка
@@maxgraph Понял, спасибо)поищу другой бесплатный хостинг для пробы. Спасибо за контент.
содержимое плагина just validate стало совсем другое, ничего толком не понимаю) так что качаю с вашего гита min.js, и тогда уже с помощью вашего видео получается модифицировать валидацию под себя :(
Видео про новую версию будет где-то в январе феврале, а пока да, увы, он обновился
Спасибо за твои видосы! А есть догадки из-за чего может быть так. Скрипт отрабатывает, сообщение пишет отправлено, но само сообщение на почту не приходит.
$mail->setFrom('adm@' . $_SERVER['HTTP_HOST'], 'Your best site'); Ты написал вот так, а поле adm@ это по умолчанию или на разных хостах может быть по другому
adm - это просто текст) а вот http_host разный.
Спасибо за ценную информацию!) Очень много узнал по Вашим роликам!) Хочу задать один вопрос, на сайте есть несколько форм, все формы отправляются отлично, кроме той где есть тег select с option , везде name и value прописал, но именно эту форму не отправляет и в консоле выдает ошибку "Failed to construct 'FormData': parameter 1 is not of type 'HTMLFormElement", можете подсказать, что делать в таком случае, или ошибка где-то у меня в коде? Если нужна будет дополнительная информация, могу ли я Вам её прислать, чтобы решить проблему?) Заранее спасибо большое!)
Здравствуйте, можете скинуть в телеграм или вк)
А как вывести, после отправки, блок в html "Спасибо! Ваше сообщение отправлено"?
Найти этот блок в верстке, и в блоке done (или success) прописать ему textContent
При обращении к файлу mail.php выдает 404 ошибку, типа не видит его, может кто знает в чем дело?
путь неверный
Безусловно круто! Но как сделать "Нажимая на кнопку, я даю согласие на обработку персональных данных и соглашаюсь политикой конфиденциальности."? Что бы без галочки в инпуте нельзя отправить форму.
На js пока не писал такого, есть на jquery старая наработка. - gist.github.com/maxdenaro/a1a3b68eacb57f1b7ab5c90ee21b29f7
ну испрользуюй возмжности расмотренного плагина вешаешь на input дата - атрибут и в скрипте прописываешь правила. все сработало
не могу понять что я делаю не так. Скачал весь код из видео, изменил почту на свою. При клике по кнопке, в консоли пишет "отправлено", а на почту ничего не падает. Пробовал и на опенсервере, и на бесплатном хостинге "beget", итог один
Ну тут либо опечатка все же, либо хостинг запрещает отправку писем. А может письмо в спаме
@@maxgraph а опенсервер не поддерживает отправку писем, не знаете?
Не знаю)
Если ты добавил свою почту в php вместо массива почт, то в этом косяк. Удали и эту строку. В самой почте найти $mail->addAddress($value). И замени value на свою почту. То же самое надо, если будешь убирать заголовок письма из html в php
Спасибо за видео. Сделал все чисто по уроку. Если вводишь в поле телефона даже 1 цифру, то just-validate уже не ругается. Но как выдавать ошибку если input mask заполнен не полностью? Пытался в just validate указать min lenght, но это вообще не помогает
С этим проблема, решение не нашёл (да и не приходилось вообще)
@@maxgraph проверяю с помощью js количество символов в инпуте, пишет всегда 18. походу надо решение в инпутмаск искать. Крыша едет, во вторник надо вопрос решить и работу сдать(
Возможно. У меня заказчики принимали так всегда)
@@maxgraph В итоге решил так: добавил в just-validate в правило strength кастомное регулярное выражение: strength: {custom: '[^_]$'}, которое говорит, что подходит любая строка, которая не содержит знак _ . В inputmask незаполненные значения как раз заменяются нижним подчеркиванием и соответственно валидация не проходит. Может пригодится тебе или еще кому.
Спасибо)
А, что за цветовая схема редактора?
One Monokai
Максим, спасибо за видео! Если будет возможность и желание, расскажи, пожалуйста, как сюда Гугл капчу3 прикрутить.
Посмотрим) спасибо
а зачем здесь оборачивать все input в тег label?
Так правильно для доступности
Классно, но у меня при отправки формы выходит страница mail.php и белый экран, а ещё заявка поступает на спам
Значит где-то ошибка
@@maxgraph Но я весь код копировал, а ещё через phpmailer у меня появляется ошибка 500
Ну тогда точно что-то не так сделали, не может быть ошибка при копировании полном
@@erasylmeiramov8196 у меня так же POST l91608wd.beget.tech/mail.php 500 (Internal Server Error)
Как это лечится?
@@getmanele Я тестировал на бегет все приходит - github.com/frontend-coder/validateformesjs
а вот попытка удалить почтовый ящик из html документа в php создал переменную, обработка масива была закоментирована - не увенчалась успехом - просто письмо не приходило на почту , после удаления переменной - письмо начало приходить так же передача нескольких постовых адресов не увенчалась успехом но тут скорее мой косяк так как не совсем представляю, как его передавать, испробывал несколько вариантов
чуть не забыл не могу выловить на какой тег вешается класс ".thanks-popup",
я так понял это с Яндекс метрики "send goal" всесто этого нужнго прописать все или что-то из этого - yaCounter44799888.reachGoal('poluchit-besplao'); return true; но если все, это вызовет ошибку
ну почему этого нет в программе обучения😵💫
Потому что это не относится к вёрстке.
По моему скромному мнению обучение держится на учителях.
@@maxgraph даже то где лежит файл показали. С первого раза совсем теряешься в дебрях папок. Конечно ещё чат выручает, иначе сдалась бы уже давно
Разумеется, как на любом курсе
Спасибо за полезное видео. Одна проблема, хочу написать свое регулярное выражение, а валидация проходит по кастомной регулярке(одна заглавная буква, одна маленькая и одна цифра). Всю документацию перерыла не пойму в чем проблема. Хочу чтобы поле имя не пропускало цифры.
validateForms('.order__form', {
name: {required: true, minLength: 3, strength: {
custom: '/[a-z]'
}}, tel: {required: true}, address: {required: true,address:true, minLength: 10 }},
{name:{required: 'Вы должны ввести имя'},tel:{required: 'Вы должны ввести телефон'},address:{required: 'Вы должны ввести address'}},
'.thenks-popup', 'send goal');
Все работает и очень круто! ЛАЙК ЕЗЖИ! Только дружище хочу сделать так чтобы при отправке формы (именно когда все введено правильно и данные с формы отправились на почту) вылазило окошко спасибо, я хз куда код вставить) вставил вот так, но все равно окно появляется при клике на кнопку (даже когда поля пустые), помоги по братски)
вот вставка:
xhr.onreadystatechange = function() {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
console.log('Отправлено');
alert('Сообщение успешно отправленно!');
document.querySelector('.order__button').onclick = function() {
document.querySelector('.thank').classList.add('active');
}
document.querySelector('.thank__close').onclick = function() {
document.querySelector('.thank').classList.remove('active');
}
}
}
}
P.S. JS вообще не знаю, так что без хейта)
Ну вы же вставили клик внутрь
Вставьте содержимое клика)
@@maxgraph короче я баран, надо было убрать проверку на клик) ОТДУШИ за скорость ответа + еще 1 лайк)
Спасибо)
Крутое видео, тоже решил переделать свой вариант отправки формы phpmailer и с указанием админ. эмейла непосредственно в скрипте. Ок, $admin_email=example@exam.ex, но сервер возвращает ошибку :
Warning: Invalid argument supplied for foreach() in /home/.../docs/mail.php on line 13
There was a problem sending the form.: Пожалуйста, введите хотя бы один email-адрес получателя.
Может кавычек не хватает?)
@@maxgraph , а не, в коде есть каычки, и даже пробовал убирать обращение к админ_эмейлу как к массиву $admin_email = array(), все равно не помогло(
странно.
@@maxgraph , есть такая идея- раз адрес в post запросе приходит как массив, и адрес один, то записать так :
$admin_email = array();
//foreach ( $_POST["admin_email"] as $key => $value ) {
// array_push($admin_email, $value);
//}
$admin_email[] = 'example@example.ru';
Почему вы везде пишите let? Лучше уже пользоваться старым синтаксисом (var), если нет понимания когда использовать let, а когда const :)
А почему я должен использовать const?)
@@maxgraph а почему let? Используйте var ))
А если серьезно - let, если вы собираетесь менять переменную. А в вашем случае все переменные - константы. Соответственно пишем const
Вы не ответили на вопрос. Почему я обязательно должен использовать const?
Это правило незыблемо? Без него код не работает? Случится катастрофа, если не написать const?
Это деление на let и const сделано лишь для удобства, не более.
@@maxgraph случится катастрофа. На серьезном проекте вас уволят ))
@Павел я рад. но если ты понятия не имеешь, когда использовать лет и конст, то пользуйся вар.
100 кб весит плагин для маски, это лол. Заказчик за такое и в хвост и в гриву должен.
Ага, заказчику то самое дело до килобайтов))
100 кб в век 4-5G и широкополосного интернета это конечно тяжело будет загрузить