Тёмный

Урок 5. CRM на VueJS. Валидация с Vuelidate 

Владилен Минин
Подписаться 308 тыс.
Просмотров 50 тыс.
50% 1

Получить профессию Frontend разработчика -
bit.ly/4bTf8bB
Подробнее узнать об обучении в Result School -
bit.ly/3OkimZK
Бесплатный курс HTML & CSS - bit.ly/48FnmBy
Сделать 5 проектов на JavaScript - bit.ly/48x9gBO
Я в соц сетях:
Telegram: t.me/js_by_vladilen
VK: vladilen.minin
Instagram: / vladilen.minin
Мои паблики по JavaScript:
Telegram: t.me/result_school_it
VK: result.school
Instagram: / result.scho. .
JavaScript cообщества:
Discord: / discord
Telegram: t.me/js_by_vladilen_chat
Roadmap по каналу:
vladilen.notion.site/Roadmap-...
Урок 5. CRM на VueJS. Валидация с Vuelidate
Валидация с Vuelidate - В видео вы увидите, как с помощью библиотеки Vuelidate реализовать динамическую валидацию страницы логина
Исходный код:
drive.google.com/open?id=1elQ...
Практика VueJS - создание CRM системы
• Практика Vue JS - созд...

Опубликовано:

 

12 апр 2019

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 158   
@trickingOOmix
@trickingOOmix 5 лет назад
Добрый день, очень здорово, что разбираете на таких примерах - реализуете целый проект. Помогает сориентироваться в структуре, чего и как. Кратко, актуально. В общем восторг
@VladilenMinin
@VladilenMinin 5 лет назад
Благодарю за отзыв, для этого и делаю)
@zakarhappy5496
@zakarhappy5496 Год назад
Привет, как у тебя успехи? Работаешь frontend разработчиком или бросил это дело давно?
@hispvig
@hispvig 3 года назад
Для тех кто будет делать для vue3 - валидатор был изменен. Вот ссылка на новую документацию: vuelidate-next.netlify.app/#installation В документации пока имеются опечатки, поэтому привожу пример своего работающего кода: Логин {{ printError(error.$validator, error.$params) }} import router from "@/router"; import {required, minLength} from '@vuelidate/validators' export default { name: "Login", data: () => ({ login: '', password: '', }), validations: () => ({ login: {required, minLength: minLength(3)}, password: {required, minLength: minLength(6)} }), methods: { submitHandler() { this.$v.$touch() if (this.$v.$error) return router.push('/'); }, printError($name, $param) { if ($name === 'required') { return 'Поле не должно быть пустым' } else if ($name === 'minLength') { return 'Минимальная длина должна быть ' + $param + ' символов' } } } }
@denideni2633
@denideni2633 3 года назад
есть ссылка на этот проект гитхаб? на Vue 3
@mvssss_
@mvssss_ 2 года назад
Спасибо тебе большое!
@ponomarevalexei
@ponomarevalexei Год назад
Либо что то поменялось, либо руки кривые, но не работает. Матюгается на и форма перестает работать, когда в input прописываешь :class="{invalid: $v.login.$error}"
@yakut54
@yakut54 4 года назад
Пробираюсь сквозь дебри. Медленно но верно. Спасибо за науку.
@hellicobacterpillory6677
@hellicobacterpillory6677 5 лет назад
Спасибо за труд, всё понятно и полезно :)
@foxf614
@foxf614 4 года назад
Очень курто, спасибо! Особенно радует возможность добавлять собственные методы валидации в Vuelidate
@sergeirodionov4000
@sergeirodionov4000 3 года назад
Спасибо за такой даже небольшой разбор библиотеки для валидации! Очень полезная инфа, на самом деле)
@elnasurov6742
@elnasurov6742 4 года назад
Лучший курс по vuejs в рунете!
@arthurshaidullin7981
@arthurshaidullin7981 5 лет назад
Отличные уроки, спасибо Владилен
@GigaHertZ28
@GigaHertZ28 3 года назад
У кого возникли проблемы с динамической валидацией попробуйте заменить data: () => ({ email: '', password: '', }), на data() { return { $v: useVuelidate(), email: '', password: '', } }, Мне помогло
@TheWorldPeace
@TheWorldPeace 4 года назад
Спасибо за видео, побольше таких!
@Doublelone
@Doublelone 2 года назад
Хороший урок. Все доходчиво и интересно!
@user-se9sm5dx3l
@user-se9sm5dx3l 4 года назад
Спасибо за курс.
@user-po3lh2mc3s
@user-po3lh2mc3s 3 года назад
Пройдено, спасибо за урок)
@user-ck6fl1fk3h
@user-ck6fl1fk3h 4 года назад
Спасибо за труд!
@topalek
@topalek 4 года назад
Спасибо за уроки. Владилен подскажите на 12:04 на моменте валидации у меня в консоли выскакивают ошибки и некооректно валидируется поле vue.runtime.esm.js?2b0e:619 [Vue warn]: Property or method "password" is not defined on the instance but referenced during render. Make sure that this property is reactive, either in the data option, or for class-based components, by initializing the property. и аналогичная для email, как их пофиксить? возможно из-за этой ошибки некорректно отрабатывает валидация
@user-tr8hr4xm1l
@user-tr8hr4xm1l 3 года назад
Спасибо за урок!
@Vlad-em1bx
@Vlad-em1bx 2 года назад
Спасибо Вам за урок.
@user-qn6qc3rx5q
@user-qn6qc3rx5q 4 года назад
очень круто, спасибо)
@dmitry6687
@dmitry6687 3 года назад
Как всегда годно
@user-um4tq7oj1x
@user-um4tq7oj1x 3 года назад
Добрый день. Спасибо за подобные уроки, не урывками, а целиком проект. Можете записать подобные уроки по Vue, а в качестве серверной части Laravel? В сети нет не одного такого полного курса, снимите пожалуйста.
@trendkino
@trendkino 4 года назад
Очень курто, спасибо!
@user-vo7sm5sz7p
@user-vo7sm5sz7p 3 года назад
Немного не понял зачем самим ставить проверки при присвоении класса invalid. Vuelidate же для того и нужен, чтобы мы не забивали себе этим голову. Мы ему написали условия валидации в validations, а дальше нам остается лишь проверять $v.email.$error, и по нему определять прошли мы валидацию или нет, и выставлять нужный класс. Еще я повесил на инпут событие @focus="$v.email.$reset()" - это для того, чтобы ошибка валидации исчезала, если юзер поставил курсор в поле
@liaoha
@liaoha 4 года назад
Можно ли в объекте Methods писать методы стрелочной функцией? Будет ли принципиальная разница?
@bigbrother6239
@bigbrother6239 4 года назад
Спасибо !
@user-mq7bw4hn3l
@user-mq7bw4hn3l 4 года назад
Здравствуйте, делаю диплом в ускоренном темпе, поэтому решил часть кода от сюда взять. Взял авторизация, но в nuxt.js он переменную $v инициализирует после того как отрисовывает шаблон. Как это исправить?
@SuleimanVatrushkin
@SuleimanVatrushkin Год назад
Спасибо большое, отличный видос!
@BraentR
@BraentR 3 года назад
Спасибо
@diyaudioby4836
@diyaudioby4836 3 года назад
были проблемы c установкой плагина Vuelidate, вот решение vuelidate-next.netlify.app/#install-via-plugin-in-vue-3-0 И да, огромное спасибо автору за труд, за информацию. Это реально лучшие видео курсы по JS во всём рунете :) Очень мотивируют двигаться вперёд!
@denideni2633
@denideni2633 3 года назад
vuelidate нормально работает в vue 3?
@kf9465
@kf9465 4 года назад
Привет! Как использовать vuelidate в nuxt js? установил зависимость, создал плагин подключил его в nuxt.config.js , делаю по видео и не работает валидация.
@ValidMagomadov
@ValidMagomadov 7 месяцев назад
Спасибо большое за видос все супер. Как новичку во Vue было сложно сладить с Vuelidate пришлось покопаца в интеренете все сделал как надо но все равно ничего нормально не работало и в итоге скопировал код из коментариев чтото заработало но клас на input все не добовлялся но в итоге нашол выход. Вот мой код. Домашняя бухгалтерия Email {{ error.$message }} Пароль {{ error.$message }} Войти send Нет аккаунта? Зарегистрироваться import { useVuelidate } from "@vuelidate/core"; import { email, required, minLength, helpers } from "@vuelidate/validators"; export default { setup: () => { return { v$: useVuelidate() }; }, data: () => ({ email: "", password: "", }), validations: { email: { email: helpers.withMessage("Введите корректный Email", email), required: helpers.withMessage( "Поле Email не должно быть пустым", required ), }, password: { required: helpers.withMessage("Введите пароль", required), minLength: helpers.withMessage( ({ $params, $model }) => `Пароль должен быть ${$params.min} символов. Сейчас он ${$model.length}`, minLength(6) ), }, }, methods: { submitHandler() { console.log(this.v$); if (this.v$.$invalid) { this.v$.$touch(); return; } const formData = { email: this.email, password: this.password, }; console.log(formData); this.$router.push("/"); }, }, };
@filimon0v
@filimon0v 5 месяцев назад
спасибо, тоже сидел, искал решение, пока не вспомнил про комменты))
@user-uh1rm8py7b
@user-uh1rm8py7b 5 лет назад
Спасибо, круто
@VladilenMinin
@VladilenMinin 5 лет назад
Благодарю за фидбек)
@WillaTutorial
@WillaTutorial 4 года назад
В форме в v-model нужно биндить $v.email.$model . C моделями из даты не работает
@YuriiLutsyk0304
@YuriiLutsyk0304 4 года назад
Огромное спасибо!!!
@user-ck9qy6tf3c
@user-ck9qy6tf3c 3 года назад
ну хз, вроде работает
@diyaudioby4836
@diyaudioby4836 3 года назад
да, вот пруф: vuelidate-next.netlify.app/guide.html#using-the-model-property
@MrLutor
@MrLutor 3 года назад
А у поля password нормально делать trim?) Вдруг у пользователя пароль начинается или заканчивается пробелом. Он привык к такому паролю, а мы автоматом отформатим его ввод и он потом зайти не сможет, набирая пароль с пробелом по привычке.
@softwareDevFromAlmaty
@softwareDevFromAlmaty 2 года назад
Очень полезно
@GeliosGarik
@GeliosGarik 4 года назад
получал *Property or method "$v" is not defined* кучу времени потратил, а оказалось опечатка в свойстве _validations:_ - зато теперь очень хорошо ориентируюсь в документации)) ... плохо, что не было ошибки, вроде _Property or method "validation" is not defined_ так бы сразу заметил, что букву *s* пропустил
@PlotnikPRO
@PlotnikPRO 3 года назад
Такая же ошибка была. Но потратил всего 15 мин, чтобы понять в чем дело. Потому что вы направили меня где искать. Надо писать validations, а я написал vuelidate. Невнимательность))
@PlotnikPRO
@PlotnikPRO 3 года назад
В общем и целом я хотел сказать СПАСИБО)
@bipiwnik
@bipiwnik 4 года назад
а почему у пароля на странице login проверка на длину? разве не на совпадение надо делать)
@hutoryanin
@hutoryanin 3 года назад
*Л. а. й. к. о. с.* за видос.
@SoreraRU
@SoreraRU 3 года назад
Не пойму, кто тот мерзкий человек, кто дизлайки ставит... идеальный контент. Спасибо
@vadimtregubenko5749
@vadimtregubenko5749 3 года назад
это скорее те, кто хотел посмотреть курс и понять вью но оказалось что до этого курса нужно еще пройти десяток курсов ))
@anakinskywoker945
@anakinskywoker945 3 года назад
А можно ссылку на видео по vuelidate? а то не могу найти(
@dmytroyevlakhov9923
@dmytroyevlakhov9923 4 года назад
Чтобы избежать сложной записи в длине пароля, я бы использовал computed passwordLength + он кеширует значение
@alex-kobrin
@alex-kobrin 3 года назад
спасибо ,
@semen083
@semen083 5 лет назад
В реальных приложениях допустимо с точки безопасности передавать пароль через formdata или необходимы какие-либо дополнительные манипуляции с безопасностью (шифрование и тд)?
@VladilenMinin
@VladilenMinin 5 лет назад
Допустимо, все шифрование идет через сервер Но иногда практикуется двойное шифрование для особых случаев В целом главное в базе в таком виде не хранить
@stasts8721
@stasts8721 3 года назад
По чему в хроме это ошибка? VM430 content.js:9 Uncaught Error: only one instance of babel-polyfill is allowed at Object. (VM420 content.js:9) at Object. (VM420 content.js:9) at r (VM420 content.js:1) at Object. (VM420 content.js:10) at r (VM420 content.js:1) at VM420 content.js:1 at VM420 content.js:1
@user-dk1ru3yx9i
@user-dk1ru3yx9i 3 года назад
комменты тоже помогают продвигать видео ;)
@de17eon50
@de17eon50 4 года назад
Что за отдельный курс по vue js?
@SlavaCh
@SlavaCh 5 лет назад
Есть ли смысл выносить проверка $v.email.$dirty && !$v.email.required в computed раз уж они по несколько раз в коде используются?
@VladilenMinin
@VladilenMinin 5 лет назад
Нет, так как там везде разные контролы (email, name, password)
@Maratreason
@Maratreason 4 года назад
Делаю то же самое только на реакт. Сначала рвал волосы, но оказалось не так все и страшно. formik + yup. По сути то же самое. Вместо vuex - redux :)
@brodovoi
@brodovoi 3 года назад
актуально? или лучше сразу с vue.js 3?
@cyberpunk_10
@cyberpunk_10 3 года назад
Долго разбирался почему у меня не работает валидация и валится ошибка в консоли, в итоге нашел: написал v-modal вместо v-model
@eugenefedoryachenko8793
@eugenefedoryachenko8793 4 года назад
Благодаря твоим роликам стал понимать насколько я невнимательный по ночам, поэтому работаю теперь только выспавшись 😂
@VladilenMinin
@VladilenMinin 4 года назад
Высыпайся)
@user-uk3pc3kn3h
@user-uk3pc3kn3h 4 года назад
Привет, Владилен! Хотел бы у тебя спросить, не поменяли ли что-то в vuelidate.Пытался динамически указывать необходимую длину пароля, однако, к сожалению, ничего не работает. Что самое забавное то, что сама валидация происходит корректно. Выводил объект $v.password в консоль, в $v.password.$params.minLength при этом был null, а не min и type.
@travelisr7118
@travelisr7118 4 года назад
проверьте import в файле main.js ( import Vuelidate from 'vuelidate'; ) у меня была такая же проблема, webstorm прописал импорт в src. когда удалил его - заработало
@bogdanyaskevych5713
@bogdanyaskevych5713 4 года назад
@@travelisr7118 спасибо, просто при импорте там путь автоматически в src пошел, я б вот это бы как минимум ещё пару часов потратил, что бы к этому дойти
@_man-in-space_
@_man-in-space_ 4 года назад
@@travelisr7118 спасибо тебе!
@marineharutyunyan7711
@marineharutyunyan7711 3 года назад
@@travelisr7118 спасибо тебе!
@markeellaas
@markeellaas 7 месяцев назад
@@travelisr7118 Спасибо
@MaciFree
@MaciFree 2 года назад
было бы интересно увидеть урок по валидатору, который просит ввести большую/маленькую буквы + символы + длина пароля
@user-jo4tr6zp5n
@user-jo4tr6zp5n 2 года назад
Какая тема установлена ?
@MegaHacker342
@MegaHacker342 3 года назад
Крутые уроки, главное что реальный проект, пусть и тестовый. А не hello world
@jimlabable
@jimlabable 4 года назад
По поводу Vuetify. Я уже прошел курс Vue на Udemy. И там Владилен использует эту технологию. И надо сказать я порядком попотел, чтобы все заработало, потому что обновления достаточно болезненные, местами совсем другой синтаксис, при этом в документации путаница, а если ты еще и новичок, то совсем беда. А здесь все без каких -либо проблем. Владилен, спасибо за эту практику, но курс тоже хорош.
@antonb6831
@antonb6831 4 года назад
Ты про vuetify или vuelidate?
@stanislavnedosekin
@stanislavnedosekin 3 года назад
@@antonb6831 Про цыган
@antonb6831
@antonb6831 3 года назад
@@stanislavnedosekin про тебя, мудень
@user-cj6zf8ft5b
@user-cj6zf8ft5b 3 года назад
У меня у одного в $params значения null что у required, что у minLength?
@user-cj6zf8ft5b
@user-cj6zf8ft5b 3 года назад
если у кого возникнет проблема импортируйте из vuelidate/src/validators, а не из lib
@MrLutor
@MrLutor 3 года назад
@@user-cj6zf8ft5b Красава!) спасибо
@user-ji3gy5fv1j
@user-ji3gy5fv1j Год назад
а как подключить vuelidate, если к примеру я НЕ пишу код в файлt .vue, а использую связку html + .js?
@user-sp3pr9uh7v
@user-sp3pr9uh7v Год назад
не использововать эту связку, а писать нормально
@artemkosherenkov8710
@artemkosherenkov8710 3 года назад
у меня после того как написал код для валидации email возникает вот такая ошибка : Uncaught (in promise) TypeError: Cannot read property 'super' of undefined возможно еще у кого-то она была, как решили?
@RomanRachkov
@RomanRachkov 3 года назад
новую версию vuelidate использовал vuelidate-next.netlify.app/#installation Правда есть другая ошибка "Cannot read property 'uid' of null" и вот как ее победить я так и не понял
@PlotnikPRO
@PlotnikPRO 3 года назад
Укого при нажатии на кнопку её фон становится все светлее и светлее... Удалите в main.js import 'materialize-css/dist/js/materialize.min'. Ведь вы его импортируете, что бы использовать "M." там где нужно
@PlotnikPRO
@PlotnikPRO 3 года назад
Все дело в Линте. Если хотите как на видео, то отключайте его
@user-iz8hi3sx6l
@user-iz8hi3sx6l 4 года назад
Спасибо за уроки, все круто.Но сделать такой minLenght не получилось, в консоле у меня показывать minLenght: Null, хотя vuelidator такой-же как у вас на видео
@user-ej2lc5pc7l
@user-ej2lc5pc7l 4 года назад
У Вас ошибка в слове minLenght
@user-gy3rm9hf7m
@user-gy3rm9hf7m 4 года назад
@@user-ej2lc5pc7l И у тебя будет правильно minLength
@fortionfortune
@fortionfortune 3 года назад
Владилен, кажется лучше делать let formData, чем const, т.к. можно поймать formData is already declared если например сабмит не сработал в первый раз (проблемы с соединением например). Поправьте если ошибаюсь.
@Ctrel3
@Ctrel3 3 года назад
Метод submitHandler() каждый раз при нажатии кнопки заново вызывается. И каждый раз все переменные созданные внутри через const/let существуют только в контексте этого вызова. Можно убедиться что с const в данном случае все ок, переместив создание formData выше проверки на валидность формы. Тогда при каждом нажатии на кнопку будет создаваться новая formData и это не приведет к ошибкам. Еще про let/const в начале этого видео - ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-Ti2Q4sQkNdU.html Там нет конкретно на ваш вопрос ответа, но может быть будет полезно освежить в памяти в целом :)
@fortionfortune
@fortionfortune 3 года назад
@@Ctrel3 Да, вы правы. Да и я сама это прекрасно знала. Если честно, то вообще не понимаю как могла написать такой коммент. Видимо просмотры видео поздно ночью в 04:00 происходят с наполовину отключённом мозгом 🤷
@nlookorg
@nlookorg 4 года назад
Валидация только на стороне клиента, а серверная не предусмотрена? Она как раз важнее клиентской. Я имею ввиду ответ от сервера и подсветкой полей с ошибками
@user-qs8vf5dm3c
@user-qs8vf5dm3c 4 года назад
Это была предварительная валидация.
@nlookorg
@nlookorg 4 года назад
@@user-qs8vf5dm3c да, я вижу. Очень частый случай, когда нужно ошибки валидации сервера прикреплять к полям. Здесь только с сервера на прямую в попап выводят. Срезали необходимую логику. Так то я не придираюсь, чел молодец. Но было бы еще круче затрагивать больше случаев.
@user-qs8vf5dm3c
@user-qs8vf5dm3c 4 года назад
@@nlookorg валидация - тема обширная. Можно целый курс запилить. Типа "Книга рецептов валидации"
@nlookorg
@nlookorg 4 года назад
@@user-qs8vf5dm3c ну хз
@stylenova1
@stylenova1 4 года назад
А в чем разница между платной версией и этим плей листом ?
@VladilenMinin
@VladilenMinin 4 года назад
В бесплатной круче материал) Платный курс устарел
@qAntBcn
@qAntBcn 4 года назад
Здесь у нас документация, ... документацию я особо не вижу )))) но есть строка для копипасты! Тру програмист! )))
@alexelkin2502
@alexelkin2502 4 года назад
А в чем проблема собственно? Вам хотелось бы что бы автор перечитывал в видео документацию на распев? Мне наоборот понравилось что он не диктует магические команды а показывает как их найти, там же и документация по ссылке лежит.
@adeveloper6934
@adeveloper6934 3 года назад
Валидация с vuelidate - Cannot convert undefined to object
@sergo5001
@sergo5001 4 года назад
За уроки конечно спасибо, но получается жесть. Логика раскидана по всему файлу, часть в скрипте, часть в разметке. Что бы вывести 2 разных сообщения с ошибкой у одного инпута ты прописываешь два разных элемента из-за чего разметка сильно разрастается, а если бы у тебя в форме было 20 полей и у каждого больше 2 сообщений?
@user-qs8vf5dm3c
@user-qs8vf5dm3c 4 года назад
зато вся форма в одном файле. И все достаточно структурировано.
@vojtechstepanek4829
@vojtechstepanek4829 4 года назад
Привет. В этом (или предыдущем уроке) упомянул видео в котором рассказываешь о фичах Vue.js Видосов много, не нашёл )) Можешь ссылку кинуть? Спасибо.
@dimalepel
@dimalepel 2 года назад
Спасибо за очень полезное и интересное видео. Хочу обратиться к аудитории: кто делал данное приложение на Vue3? Периодически сталкиваюсь с отличительными моментами в реализации. Валидация один из них. У кого удалось реализовать это на Vue3? Если делать все как на видео, то страница логина не отображается.
@UltrasSSM
@UltrasSSM 2 года назад
получилось в итоге?
@UC1C0GDMTjasAdhELHZ6lZNg
@UC1C0GDMTjasAdhELHZ6lZNg 2 года назад
@@UltrasSSM думаю нет, надо делать по документации vuelidate с синтаксисом для vue3
@UltrasSSM
@UltrasSSM Год назад
@@UC1C0GDMTjasAdhELHZ6lZNg в итоге тоже сделал на vue3, но по факту авторизацию через гугл делал без
@AA5503D
@AA5503D 3 года назад
$v.password.$params.minLength имеет значение null, никто не сталкивался с этим?
@AA5503D
@AA5503D 3 года назад
@@JohnDoe_777 спасибо проверю, а следующем кстати уроке у mounted $router.qury.massage лично у меня в условии не отрабатывает,но это другая история)
@Vengeful_One
@Vengeful_One Год назад
К сожалению, применив все, что здесь было указано, а именно: npm install vuelidate - - save npm install @vuelidate/core @vuelidate/validators Переустановить node, установить LTS версию - ничего не помогло, eslint ругается на зависимости Node v19.0.0, npm v9.2.0 Попробовал npm install vuelidate --force, установилось с нарушением зависимостей, но пока работает Предполагал, что эта ошибка выходит только при установке vuelidate, но оказалось, что после --force он выдаёт такую ошибку зависимостей всякий раз, когда происходит какая-то установка через npm install
@user-rw4nl8qf2g
@user-rw4nl8qf2g 9 месяцев назад
ctr c, ctr v, ctl c ctrl v круто... а так спасибо
@boostprav
@boostprav 4 года назад
На этом уроке обнаружил косяк. КОгда форму валидировал, несколько раз нажал на кнопку, а она делалась все светлее, светлее, до прозрачного. Потом на меню проверил, тот же эффект. При нажатии остается какой-то стиль, и при переходе на другие страницы не удаляется. При этом если курсоров поводить по ним, то возвращается в нормальное состояние... Записал экран www.dropbox.com/s/bosge31qno9ehey/%D0%97%D0%B0%D0%BF%D0%B8%D1%81%D1%8C%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202020-03-07%20%D0%B2%2022.02.49.mov?dl=0 При этом после урока по созданию меню - все было норм, я проверял тогда...
@boostprav
@boostprav 4 года назад
Нашел в чем проблема... У меня eslint ругался на M.dropdown , говорил такой нет Я почитал, и прописал там import M from materializecss И видимо это давало какой-то глюк. В результате нашел способ. Просто перед тем как использовать глобальную M прописал такие строки /* global M */ /* eslint no-undef: "error" */
@PlotnikPRO
@PlotnikPRO 3 года назад
У меня также высветляловь, но import M from materializecss был прописан. Оказалось все проще, чем думал. В условии метода submitHandler .$invalid написал без $
@PlotnikPRO
@PlotnikPRO 3 года назад
В том смысле, что доллар там нужен!
@user-dv5lc8qo2q
@user-dv5lc8qo2q 5 лет назад
А как сделать, чтобы можно было указать два валидатора, например email и phone. И чтобы ошибка сработала тогда, когда ни один из них не подходит? Я пробовал вот так login: { required, phone, email } Но форма не отправляется, потому что в phone - true, а в email - false, поэтому у $invalid - true. Что делать?
@VladilenMinin
@VladilenMinin 5 лет назад
Добавить еще одну проверку в шаблон на этот валидатор
@ilyaponomarev9279
@ilyaponomarev9279 5 лет назад
А что за курс?
@VladilenMinin
@VladilenMinin 5 лет назад
Ссылка в описании Он немного устаревший, и с продаж я ничего пока не получаю, но пока у меня нет альтернативы, можете ознакомиться
@daniilpolozyukov5658
@daniilpolozyukov5658 4 года назад
Столкнулся с проблемой при инсталяции Vuelidate, появилась ошибка: "vue-cli-service" не является внутренней или внешней командой, исполняемой программой или пакетным файлом. Безуспешно пытался исправить на месте, но в итоге решил проблему тем что заново создал CLI проект и в пустой проект установил Materialize (npm install materialize-css@next) и Vuelidate ( npm install vuelidate --save), а потом скопировал вместо новосозданного вот это: Исходный код: drive.google.com/open?id=1elQ... (Новичкам, не удаляйте node_modules) И все заработало.
@arkman1292
@arkman1292 3 года назад
У меня такая же проблема, лучше заново создать и по началу установить Materialize и Vuelidate и потом скопировать туда весь код?
@daniilpolozyukov5658
@daniilpolozyukov5658 3 года назад
@@arkman1292 Под видео есть "Исходный код" можно скачать и сделать просто npm install либо второй вариант это новый проект и в него Materialize и Vuelidate устанавливать.
@arkman1292
@arkman1292 3 года назад
@@daniilpolozyukov5658 если скачать Исходный код и зделать npm install то проблема все равно есть, если запустить npm run serve то выдает такое: "vue-cli-service" не является внутренней или внешней командой, исполняемой программой или пакетным файлом. npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! vue-youtube@0.1.0 serve: `vue-cli-service serve` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the vue-youtube@0.1.0 serve script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\Unless\AppData\Roaming pm-cache\_logs\2020-07-27T10_52_46_796Z-debug.log Тепер буду новый проект делать и уже там устанавливать, надеюсь проблема будеть решена
@daniilpolozyukov5658
@daniilpolozyukov5658 3 года назад
@@arkman1292 Знаешь что еще бывает помогает, взять тупо удалить node modules и package-lock.json, а потом прописать в терминале npm install, только node modules удаляется 2-5 минут) И может заработать.
@arkman1292
@arkman1292 3 года назад
Даниил Полозюков спасибо, уже работает, я зделал новий проект и установил сразу, как ты и говорил, еще раз спасибо😉
@antonkuzmich4624
@antonkuzmich4624 4 года назад
formData не работает. TypeError: Argument 1 of FormData.constructor does not implement interface HTMLFormElement. Причем только в лисе. В опере, купзилле и даже ишаке работает.
@prometeisoft6058
@prometeisoft6058 4 года назад
Проверил. Нормально отдаёт Object { email: "admin@flatlogic.com", password: "123456789" } в консоль. Единственное когда разворачивал на сервере приложений иногда приходилось зачищать хранилище именно в FireFox от старых данных с localhost . А так возможно у вас formData должна начинаться с маленькой буквы ? :)
@VladilenMinin
@VladilenMinin 4 года назад
formData это обычный объект, его можно назвать как угодно, он не может не работать) Возможно ты написал FormData, что и правда некорректно, тк это класс для формирования данных в форме (с помощью нее можно например файлы отправлять)
@maxhaze4270
@maxhaze4270 4 года назад
Считаю, что у пароля модификатор trim не нужен. Пользователь может использовать пароль с пробелом
@user-qs8vf5dm3c
@user-qs8vf5dm3c 4 года назад
в начале и в конце пробелы крайне не желательны.
@marineharutyunyan7711
@marineharutyunyan7711 4 года назад
почему у меня $params: Object minLength: null required: null выглядеть так
@marineharutyunyan7711
@marineharutyunyan7711 3 года назад
проверьте import в файле main.js ( import Vuelidate from 'vuelidate'; ) у меня была такая же проблема, phpstorm прописал импорт в src. когда удалил его - заработало
@coconut_punker
@coconut_punker 3 года назад
@@marineharutyunyan7711 спасибо!
@user-pd1xl2xw2t
@user-pd1xl2xw2t 3 года назад
@@marineharutyunyan7711 Спасибо)!
@user-id4bw3tf5g
@user-id4bw3tf5g 2 года назад
ну не хочет работать валидация хоть убей, работает только если делать как в документах а если делать как в видео то ошибки одни
@user-wt8sq9om6c
@user-wt8sq9om6c 2 года назад
Посмотрите все еще раз внимательнее, обычно какой-то знак выпадает один и трубец. Думаю в этом косяк
@danilishei
@danilishei 3 года назад
Честно говоря местами очень путано, не понятно почему в одном месте с $, а в другом без. Вкратце бы пояснять что значит $touch и т.п.
@KryptonTeam_
@KryptonTeam_ 3 года назад
с $ без импорта , без него уже импортированные вещи.
@cherlenok_dmitry
@cherlenok_dmitry Год назад
Не работает Ваша валидация
@user-sp3pr9uh7v
@user-sp3pr9uh7v Год назад
Домашняя бухгалтерия Email {{ error.$message }} Пароль {{ error.$message }} Войти send Нет аккаунта? Зарегистрироваться import { useVuelidate } from "@vuelidate/core"; import { email, required, minLength, helpers } from "@vuelidate/validators"; export default { setup: () => { return { v$: useVuelidate() }; }, data: () => ({ email: "", password: "", }), validations: { email: { email: helpers.withMessage("Введите корректный Email", email), required: helpers.withMessage( "Поле Email не должно быть пустым", required ), }, password: { required: helpers.withMessage("Введите пароль", required), minLength: helpers.withMessage( ({ $params, $model }) => `Пароль должен быть ${$params.min} символов. Сейчас он ${$model.length}`, minLength(6) ), }, }, methods: { submitHandler() { console.log(this.v$); if (this.v$.$invalid) { this.v$.$touch(); return; } const formData = { email: this.email, password: this.password, }; console.log(formData); this.$router.push("/"); }, }, };
@Ilohimushka
@Ilohimushka Год назад
Все таки Владилен Минин нуб. Знает основы, а когда дело доходит до имплементации голову себе и другим морочит. Устал от таких в русскоязычном сегменте
@VladilenMinin
@VladilenMinin Год назад
Конкретнее - нуб в чем?
@Ilohimushka
@Ilohimushka Год назад
@@VladilenMinin мог бы использовать сразу проверку error для invalid класс. Делаете проверку на просто required. Это всегда объект надо проверку на required.$invalid
@user-nc8kh2jv2o
@user-nc8kh2jv2o Год назад
Если кто то пишет на Vue.js 3 как и я) , Ниже код шаблона Логина который работает и написан на Vue 3 c vuelidate для данного урока Домашняя бухгалтерия Email {{ error.$message }} Пароль {{ error.$message }} Войти send Нет аккаунта? Зарегистрироваться import { useVuelidate } from "@vuelidate/core"; import { email, required, minLength, helpers } from "@vuelidate/validators"; export default { setup: () => { return { v$: useVuelidate() }; }, data: () => ({ email: "", password: "", }), validations: { email: { email: helpers.withMessage("Введите корректный Email", email), required: helpers.withMessage( "Поле Email не должно быть пустым", required ), }, password: { required: helpers.withMessage("Введите пароль", required), minLength: helpers.withMessage( ({ $params, $model }) => `Пароль должен быть ${$params.min} символов. Сейчас он ${$model.length}`, minLength(6) ), }, }, methods: { submitHandler() { console.log(this.v$); if (this.v$.$invalid) { this.v$.$touch(); return; } const formData = { email: this.email, password: this.password, }; console.log(formData); this.$router.push("/"); }, }, };
@user-sp3pr9uh7v
@user-sp3pr9uh7v Год назад
ААААААААААААААААААААА, ЧУВАК ТИ ПРОСТО СУПЕР, 3 ДНЯ НЕ МОГ НАЙТИ ПРАВИЛЬНОГО ОТВЕТА, ДАЖЕ GHATGPT НЕ СПРАВИЛСЯ СПАСИБО ТЕБЕ ОГРОМНОЕ!!!!!!!!!!!!!!!!!!!!!
@user-ec7gk8yg8p
@user-ec7gk8yg8p 10 месяцев назад
Прекрасный ты человек. Спасибо. Я только начинаю работать с vue и решил, что будет не трудно разобраться, если я буду делать на новой версии vue, но оказалось, что они сильно разнятся в некоторых моментах)
@alira2924
@alira2924 3 года назад
Очень курто, спасибо!
@taran_dm
@taran_dm 3 года назад
Спасибо!
@artemijeka
@artemijeka Год назад
Спасибо!
Далее
Easy Form Validation With Vuelidate | Vue 3
8:19
Просмотров 30 тыс.
Урок 17. JavaScript. Все о LocalStorage
16:39
Просмотров 148 тыс.
Easy Form Validation with Vuelidate | Vue 3 Tutorial
11:09