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

#easy

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

P. S. У меня не 1 условие, а 2 (так как логин может быть либо уже занятым кем-то, либо просто не подходить по форме (например, с точкой в конце не пропускают)), надо это увязать)
 
Кто-то поможет?
 
Так сделайте две проверки. Если на одной из них не проходит - возвращайтесь на генерацию нового. В чем тут сложность?
 
Я бы построил логику примерно так...
40620161122225547.jpg
 
Так сделайте две проверки. Если на одной из них не проходит - возвращайтесь на генерацию нового. В чем тут сложность?
Я не могу понять, в чем разница между такой красной прерывистей линией, которая идет отрывками и постоянной, которая без отрывков идет? Возможно, из-за этого у меня проблема. Если условие выполняется (то есть найден текст про какую-то либо ошибку), то я ставлю постоянную линию на предыдущий блок (подбор логина). В итоге оно возвращает на тот блок даже если все нормально...
 
Я не могу понять, в чем разница между такой красной прерывистей линией, которая идет отрывками и постоянной, которая без отрывков идет? Возможно, из-за этого у меня проблема. Если условие выполняется (то есть найден текст про какую-то либо ошибку), то я ставлю постоянную линию на предыдущий блок (подбор логина). В итоге оно возвращает на тот блок даже если все нормально...
По прерывистой линии кубик уходит на ошибку, по цельной линии на верное действие.
То есть если смотреть на скрин ниже - если переменная равна 1, кубик пойдет по цельной линии, если переменная не равна 1 - кубик пойдет по прерывистой.
15066761.jpg
 
Последнее редактирование:
По прерывистой линии кубик уходит на ошибку, по цельной линии на верное действие.
Я поставил от блока с условием цельную линию на следующий этап (теперь парсит результат, что все хорошо, то есть не надо 2 проверки) и от него же провел прерывистую к предыдущему, если не нашло успеха. В итоге оно идет постоянно по цельной, а прерывистую игнорирует.
 
Возможно не верно составлено условие)
 
Возможно не верно составлено условие)
Делаю я реггер яндекс почты https://passport.yandex.ru/registration и проверил его DOM-код и текст. Увидел, что в коде страницы регистрации уже есть весь текст (и про ошибки, и про успешность). То есть оно постоянно в самом коде находит текст про успех либо неуспех и пропускает дальше, так как условие выполнено. Бред какой-то...
 
http://screeny.ru/58353802c96f05d312013e58

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

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

Вложения

  • my-logic.jpg
    my-logic.jpg
    11,5 KB · Просмотры: 632
Последнее редактирование:
  • Спасибо
Реакции: #easy
Вам бы справку для начала просмотреть. Много нового там для себя почерпнёте - wiki.zennolab.com
 

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