Как реализовать данную логику в проекте?

#easy

Новичок
Регистрация
22.11.2016
Сообщения
15
Благодарностей
0
Баллы
1
Делаю проект, его составная часть - генерация логина. Нужно реализовать такую логику, чтобы если сгенерированный логин не подошел, то возвращало обратно на этап генерации логина. И понятное дело, чтобы если все подходило, то пропускало на следующее действие. Как я не пытался это сделать, не выходит. Или просто пускает дальше, даже если логин не подходит, либо возвращает на предыдущий этап, если логин нормальный. Буду очень благодарен за помощь!

P. S. У меня не 1 условие, а 2 (так как логин может быть либо уже занятым кем-то, либо просто не подходить по форме (например, с точкой в конце не пропускают)), надо это увязать)
 

#easy

Новичок
Регистрация
22.11.2016
Сообщения
15
Благодарностей
0
Баллы
1
Кто-то поможет?
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 450
Благодарностей
1 882
Баллы
113
Так сделайте две проверки. Если на одной из них не проходит - возвращайтесь на генерацию нового. В чем тут сложность?
 

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 769
Благодарностей
2 420
Баллы
113
Я бы построил логику примерно так...
 

#easy

Новичок
Регистрация
22.11.2016
Сообщения
15
Благодарностей
0
Баллы
1
Так сделайте две проверки. Если на одной из них не проходит - возвращайтесь на генерацию нового. В чем тут сложность?
Я не могу понять, в чем разница между такой красной прерывистей линией, которая идет отрывками и постоянной, которая без отрывков идет? Возможно, из-за этого у меня проблема. Если условие выполняется (то есть найден текст про какую-то либо ошибку), то я ставлю постоянную линию на предыдущий блок (подбор логина). В итоге оно возвращает на тот блок даже если все нормально...
 

shved2

Client
Регистрация
16.07.2015
Сообщения
146
Благодарностей
53
Баллы
28
Я не могу понять, в чем разница между такой красной прерывистей линией, которая идет отрывками и постоянной, которая без отрывков идет? Возможно, из-за этого у меня проблема. Если условие выполняется (то есть найден текст про какую-то либо ошибку), то я ставлю постоянную линию на предыдущий блок (подбор логина). В итоге оно возвращает на тот блок даже если все нормально...
По прерывистой линии кубик уходит на ошибку, по цельной линии на верное действие.
То есть если смотреть на скрин ниже - если переменная равна 1, кубик пойдет по цельной линии, если переменная не равна 1 - кубик пойдет по прерывистой.
 
Последнее редактирование:

#easy

Новичок
Регистрация
22.11.2016
Сообщения
15
Благодарностей
0
Баллы
1
По прерывистой линии кубик уходит на ошибку, по цельной линии на верное действие.
Я поставил от блока с условием цельную линию на следующий этап (теперь парсит результат, что все хорошо, то есть не надо 2 проверки) и от него же провел прерывистую к предыдущему, если не нашло успеха. В итоге оно идет постоянно по цельной, а прерывистую игнорирует.
 

shved2

Client
Регистрация
16.07.2015
Сообщения
146
Благодарностей
53
Баллы
28
Возможно не верно составлено условие)
 

#easy

Новичок
Регистрация
22.11.2016
Сообщения
15
Благодарностей
0
Баллы
1
Возможно не верно составлено условие)
Делаю я реггер яндекс почты https://passport.yandex.ru/registration и проверил его DOM-код и текст. Увидел, что в коде страницы регистрации уже есть весь текст (и про ошибки, и про успешность). То есть оно постоянно в самом коде находит текст про успех либо неуспех и пропускает дальше, так как условие выполнено. Бред какой-то...
 

#easy

Новичок
Регистрация
22.11.2016
Сообщения
15
Благодарностей
0
Баллы
1
http://screeny.ru/58353802c96f05d312013e58

На скрине код DOM-модели страницы регистрации. Там уже содержится все варианты реакции системы в зависимости от ввода логина... То есть я парсю результат успеха, но так как там это и так есть, оно будет его находить в любом случае и условие будет выполняться (ну и перебросит на следующий этап)...
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 618
Благодарностей
4 606
Баллы
113
нужно проверять другими методами. Например, брать высоту блока, который содержит искомый текст. Зачастую, если высота равна 0, значит блок скрыт
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 599
Благодарностей
8 756
Баллы
113
http://screeny.ru/58353802c96f05d312013e58

На скрине код DOM-модели страницы регистрации. Там уже содержится все варианты реакции системы в зависимости от ввода логина... То есть я парсю результат успеха, но так как там это и так есть, оно будет его находить в любом случае и условие будет выполняться (ну и перебросит на следующий этап)...
в атрибутах блока сообщения об ошибке присутствует g-hidden, пробуйте по нему ориентироваться,
либо как вариант проверяйте наличие текста не в DOM, а в TEXT..
 

#easy

Новичок
Регистрация
22.11.2016
Сообщения
15
Благодарностей
0
Баллы
1
в атрибутах блока сообщения об ошибке присутствует g-hidden, пробуйте по нему ориентироваться,
либо как вариант проверяйте наличие текста не в DOM, а в TEXT..
Я как раз в тексте проверяю.
Там уже содержится все варианты реакции системы в зависимости от ввода логина... То есть я парсю результат успеха, но так как там это и так есть, оно будет его находить в любом случае и условие будет выполняться (ну и перебросит на следующий этап)...
 

#easy

Новичок
Регистрация
22.11.2016
Сообщения
15
Благодарностей
0
Баллы
1
Что в DOM-модели, что в текстовой...
 

#easy

Новичок
Регистрация
22.11.2016
Сообщения
15
Благодарностей
0
Баллы
1
в атрибутах блока сообщения об ошибке присутствует g-hidden, пробуйте по нему ориентироваться,
либо как вариант проверяйте наличие текста не в DOM, а в TEXT..
Проверил, есть такой элемент, но он во всех блоках (и там где логин свободен, и там где ошибки).
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 599
Благодарностей
8 756
Баллы
113

#easy

Новичок
Регистрация
22.11.2016
Сообщения
15
Благодарностей
0
Баллы
1
Вот моя реализация логики
 

Вложения

#easy

Новичок
Регистрация
22.11.2016
Сообщения
15
Благодарностей
0
Баллы
1

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 599
Благодарностей
8 756
Баллы
113
Последнее редактирование:
  • Спасибо
Реакции: #easy

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 450
Благодарностей
1 882
Баллы
113

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)