Пишу вот форму регистрации, есть следующий код :
QString RegisterForm::validateAll()
{
QString passwordval ("/^(?=.*\d)(?=.*([a-z]|[A-Z]))([\x20-\x7E]){8,12}$/");
QString mailval ("/^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/");
QString usernameval ("^[A-Za-z0-9]$");
QString lastAndFirstNameval ("/[а-яА-Я\s\-]/");
int pos =0;
regexp->setPattern(lastAndFirstNameval);
if((validator->validate(FName,pos))==0) || (validator->validate(FName,pos)) == 1 );
return "Invalid first name";
if((validator->validate(LName,pos))==0 )|| (validator->validate(LName,pos)) == 1 );
return "Invalid last name";
regexp->setPattern(usernameval);
if((validator->validate(Nickname,pos))==QValidator::Invalid) || (validator->validate(Nickname,pos)) == 1 );
return "Invalid username";
regexp->setPattern(mailval);
if((validator->validate(EMail,pos))==0) || (validator->validate(EMail,pos)) == 1 );
return "Invalid e-mail adress";
regexp->setPattern(passwordval);
if((validator->validate(Password,pos))==0) || (validator->validate(Password,pos)) == 1 );
return "Invalid password";
if(Password!=ConfirmPassword)
return "Confirm password != password";
else return "all validated";
}
Эта функция вызывается в слоте, по нажатию кнопочки OK, все данные(QString'ги FName и т.д) получаю из QLineEdit'ов.
Валидатор создается так :
regexp = new QRegExp;
validator = new QRegExpValidator(*regexp,0);
Проблема - при любом раскладе будет возвращать Invalid first name и далее(last name, username..) почему?Рег-экспы не правильно написал?