- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
// ...
if (m_parent->GetState() == Disconnected)
{
CString login;
CString password;
m_login.GetWindowText(login);
m_password.GetWindowText(password);
if (login.IsEmpty()
|| password.IsEmpty())
{
::MessageBox(this->m_hWnd, _T("Please enter login and password"), _T("Input error"),MB_OK);
return;
}
if (CheckString(login)
|| CheckString(password))
{
::MessageBox(this->m_hWnd, _T("You have entered unsupported symbol."), _T("Input error"), MB_OK);
m_login.SetWindowText(login);
m_password.SetWindowText(password);
return;
}
SaveConfig();
}
// ...
bool CheckString(CString& string)
{
bool res = false;
CString checked = _T("<>,!()[]{}~`#$%^&*+=/\\\"|;:'");
for (int i = 0; i < checked.GetLength(); ++i)
{
if (string.Find(checked[i]) != -1)
{
res = true;
string = _T("");
break;
}
}
return res;
}
ctm 01.09.2011 08:08 # 0
2. CheckString меняет string это не гуд, т.к. не соответствует названию ф-ции
3. Стоит ли вообще сбрасывать набранный кривой пароль? - наверное да. а вот логин точно не стоит.
4. Почему пароль не может быть пустым? Секьюрно? тогда уж не менее 8 символов, 3 из 4-х типов символов (буквы, цифры, большие буквы, символы).
мож еще что не заметил?
macGovno 01.09.2011 11:55 # 0
Что сайт называется govnokod.ru, а не stackoverflow.com?
kandul 01.09.2011 11:56 # 0
В моем описании не указано, но логин является почтовым адресов, что делает эту проверку очень сомнительной. Если у нас ситуация, что логин - это почтовый адрес, а пароль - это секьюрный пароль, то тогда эта функция просто неуместна.
Как мне кажется гораздо удобней в данном случае использовать DDX и DDV, так как это довольно простой MFC диалог. Сама проверка в таком виде будет отсутствовать совсем. Либо использовать старые добрые регулярные выражения.
ctm 01.09.2011 14:19 # 0
guest 06.09.2011 15:27 # 0
if (m_parent->GetState() == Disconnected)
если нету коннекта, то запрашиваем пароль и логин?
Может, если не авторизованы...
2. Название метода CheckString очень не нравиться! Пока не прочел тело функции, не понял,
что он делает. А когда читаешь if, то вообще непонятно, что CheckString возвращает.
По моему, лучше if (loginOk(login) && passwdOk(passwd)) ... (вместо loginOk и passwdOk может быть просто inputOk или isInputOk().
3. CheckString предполагает только Check, а не Modify.
guest8 09.04.2019 11:25 # −999
3oJloTou_nemyx 24.08.2021 21:06 # 0