Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Проверка вводимых данных при регистрации без перезагрузки страницы

00 голосов
8
Здравствуйте.
Может кто-то уже реализовал то, что я хочу и поделится опытом.
Я бы очень хотел (и это очень удобно для посетителя) когда данные нового посетителя проверялись сразу бы без перезагрузки страницы (при помощи jQuery). Таким образом регистрация происходит намного удобнее - сразу видно имеется ли тот или иной логин уже в системе или нет, сразу видно правильно ли был введён емейл, совпадает ли повторное введение пароля и правильно ли была введена капча.
Очень надеюсь на помощь.
спросил 05 Июнь, 13 от Lechman (380 баллов)

8 Ответы

00 голосов
Маски (jquery.maskedinput.js)
Валидаторы (jquery.validate.js)
Примеры: http://www.linkexchanger.su/2008/46.html
А вот чтобы капчу проверить без перезагрузки страницы, даже плевать на перезагрузку - само желание проверить ее кажется диким. ее проверкой обычно всегда сервер занимался вместе с оправкой формы, лично мне ее проверять еще до оправки даже в голову не приходило

+ надо добавить что уникальность в битриксе обычно проверяется по почтовому ящику, а не по логину. но это так, к слову.
Если уж больно хочется то надо до формы сделал запрос на выборку всех логинов в системе и потом после ввода сидеть сверять - нет ли такого значения в массиве.
ответил 05 Июнь, 13 от Grimmi (2,560 баллов)
00 голосов
Цитата
Николай Санников пишет:
+ надо добавить что уникальность в битриксе обычно проверяется по почтовому ящику, а не по логину. но это так, к слову.

Коллега, Вы ошибаетесь, уникальность по email проверяется только в том случае, если данное правило установлено в настройках главного модуля на вкладке Авторизация ("Проверять E-mail на уникальность"). А вот поле логина является индексным, т.е. может содержать только уникальные значения. С небольшими оговорками, когда задан параметр EXTERNAL_AUTH_ID.

Цитата
Роман пишет:
Я бы очень хотел (и это очень удобно для посетителя) когда данные нового посетителя проверялись сразу бы без перезагрузки страницы (при помощи jQuery).

К сожалению, встроенного описанного Вами функционала в Битриксе не предусмотрено. Используйте jQuery, только не забудьте про тех пользователей, у которых в силу разных причин отключена поддержка JavaScript.
ответил 13 Июнь, 13 от Shinigun (140 баллов)
00 голосов
Цитата
Николай Санников пишет:
Маски (jquery.maskedinput.js) Валидаторы (jquery.validate.js) Примеры: http://www.linkexchanger.su/2008/46.html

Спасибо!

Цитата
Николай Санников пишет:
А вот чтобы капчу проверить без перезагрузки страницы, даже плевать на перезагрузку - само желание проверить ее кажется диким. ее проверкой обычно всегда сервер занимался вместе с оправкой формы, лично мне ее проверять еще до оправки даже в голову не приходило

Согласен с Вами. Что-то я увлекся. :D

Цитата
Николай Санников пишет:
Если уж больно хочется то надо до формы сделал запрос на выборку всех логинов в системе и потом после ввода сидеть сверять - нет ли такого значения в массиве.

Я точно знаю (потому что использую), что в более простых движках чем Битрикс такая технология используется. Правда логин на уникальность проверяется после нажатия на соответствующую кнопку (типа, "Проверить логин").
ответил 16 Сен, 13 от Lechman (380 баллов)
00 голосов
Посмотрел http://www.linkexchanger.su/2008/46.html. Проверку заполненности полей я знаю как сделать через jquery. Вот бы ещё знать как сделать проверку логинов, хотя бы через запрос.
ответил 14 Дек, 13 от Lechman (380 баллов)
00 голосов
Код
CUser::GetList(
 string &by = "timestamp_x",
 string &order = "desc",
 array filter
)
Возвращает список пользователей в виде объекта класса CDBResult.


В общем, читайте документацию, там много чего есть :), не все, но многое
ответил 29 Март, 14 от Grimmi (2,560 баллов)
00 голосов
Николай Санников, спасибо!
ответил 22 Июль, 14 от Lechman (380 баллов)
00 голосов
Цитата
Николай Санников пишет:
Если уж больно хочется то надо до формы сделал запрос на выборку всех логинов в системе и потом после ввода сидеть сверять - нет ли такого значения в массиве.

так нельзя
а если логинов тысячи?
правильнее уж через ajax проверять тогда

Цитата
Я точно знаю (потому что использую), что в более простых движках чем Битрикс такая технология используется. Правда логин на уникальность проверяется после нажатия на соответствующую кнопку (типа, "Проверить логин").

вряд ли то, что описано было выше
делать полную выборку логинов не стоит:
1. могут оказаться большие массивы данных
2. весь список логинов станет доступным любому пользователю (я так понял проверять то js будет ;))
ответил 23 Ноя, 14 от jenia (1,500 баллов)
00 голосов
Цитата
Николай Санников пишет:
Если уж больно хочется то надо до формы сделал запрос на выборку всех логинов в системе и потом после ввода сидеть сверять - нет ли такого значения в массиве.
Тьфу на вас с такими советами. Есть же CUser::getByLogin. Правда она через такую задницу реализована, что проще руками из базы взять.
ответил 19 Март, 15 от Dest (140 баллов)

Похожие вопросы

0 голосов
2 ответов
спросил 08 Апр, 14 от WelMax (430 баллов)
0 голосов
9 ответов
спросил 27 Апр, 13 от Wailer (120 баллов)
0 голосов
5 ответов
0 голосов
4 ответов
0 голосов
8 ответов
спросил 08 Июнь, 13 от Musel (160 баллов)