Верификация на заполненность поля или Моб.тел, или Email. Что лучше FormIt-хук или JS?
Всем привет.
У меня уже не раз стояла задача сделать форму обратной связи, чтобы хотя бы 1 способ связи был указан.
В форме есть поля: Моб.тел. и Email
Надо чтобы хотя бы одно поле было заполнено. Если заполнил Email, то Моб.тел. можно оставить пустым. И наоборот.
Проблема в том, что я могу сделать верификатор (FormIt hook — обязательно для заполнения) на любое поле.
Как оптимальнее решить задачу? Хотелось бы именно проверку на сервере (hook), чем js, мне кажется так надежнее.
Подскажите, пожалуйста.
У меня уже не раз стояла задача сделать форму обратной связи, чтобы хотя бы 1 способ связи был указан.
В форме есть поля: Моб.тел. и Email
Надо чтобы хотя бы одно поле было заполнено. Если заполнил Email, то Моб.тел. можно оставить пустым. И наоборот.
Проблема в том, что я могу сделать верификатор (FormIt hook — обязательно для заполнения) на любое поле.
Как оптимальнее решить задачу? Хотелось бы именно проверку на сервере (hook), чем js, мне кажется так надежнее.
Подскажите, пожалуйста.
Комментарии: 8
Всем привет.
Трудная задача или непонятно описал?
Трудная задача или непонятно описал?
вы спрашиваете «Что лучше FormIt-хук или JS?»
И потом в тексте пишите «Хотелось бы именно проверку на сервере (hook), чем js, мне кажется так надежнее.»
Хотите hook — делайте hook. Вы не знаете как проверить 2 поля на заполненность в хуке? Тогда вам надо открыть документацию по хукам, там есть примеры.
Вы хотите готовый код под вашу задачу? Тогда вам в раздел работа, либо ждите пока кто-то напишет эти 3 строчки вместо вас
И потом в тексте пишите «Хотелось бы именно проверку на сервере (hook), чем js, мне кажется так надежнее.»
Хотите hook — делайте hook. Вы не знаете как проверить 2 поля на заполненность в хуке? Тогда вам надо открыть документацию по хукам, там есть примеры.
Вы хотите готовый код под вашу задачу? Тогда вам в раздел работа, либо ждите пока кто-то напишет эти 3 строчки вместо вас
Спокойнее, парень.
Я зашел спросить совет «Как оптимальнее решить задачу?».
Ты начал верещать «Вы хотите готовый код под вашу задачу? Тогда вам в раздел работа, либо ждите пока кто-то напишет эти 3 строчки вместо вас».
Нет, дружок, я не хочу готовый код. Я прошу рекомендацию — где лучше делать такую проверку на сервере или у клиента.
На, приложи мороженку :)
Я зашел спросить совет «Как оптимальнее решить задачу?».
Ты начал верещать «Вы хотите готовый код под вашу задачу? Тогда вам в раздел работа, либо ждите пока кто-то напишет эти 3 строчки вместо вас».
Нет, дружок, я не хочу готовый код. Я прошу рекомендацию — где лучше делать такую проверку на сервере или у клиента.
На, приложи мороженку :)
Делать проверки и на фронте и на беке. Так правильно.
Не будет ли это двойной работой, если сервер итак возвращает ответ?
Проверка на фронте — это добавить required к input? Ну тогда не очень красиво получается :)
Проверка на фронте — это добавить required к input? Ну тогда не очень красиво получается :)
1. Нет
2. Можно и так
3. Вкусовщина
2. Можно и так
3. Вкусовщина
Первичная валидация должна быть на стороне JS. Курите vue или прости господи jquery. Ну или пишите на ванильном JS.
Проверку на стороне сервера желательно делать после проверки на стороне фронта, фронт должен решить проблему валидации и сервер просто принять данные (дабы избежать лишней нагрузки). Но если фронт не справился, тогда уже подключается валидация на стороне сервера.
Проверку на стороне сервера желательно делать после проверки на стороне фронта, фронт должен решить проблему валидации и сервер просто принять данные (дабы избежать лишней нагрузки). Но если фронт не справился, тогда уже подключается валидация на стороне сервера.
Спасибо за ответ.
Да, уже имею опыт с Vue.js, но его нет смысла использовать на том проекте, который я сейчас разрабатываю. Прикручивать его ради валидации двух полей?
Тогда уже Vanilla.
Да, уже имею опыт с Vue.js, но его нет смысла использовать на том проекте, который я сейчас разрабатываю. Прикручивать его ради валидации двух полей?
Тогда уже Vanilla.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.