C# Windows 등록 양식을 만들 때 계정 등록을 위해 사용자 이름, 암호 및 기타 정보를 입력해야합니다.버튼 클릭시 WinForm 유효성 검사가 유효하지 않습니다.
그래서 각 텍스트 상자에 대해 텍스트 상자 (오류 1 개, 확인 1 개)의 유효성을 검사하는 2 개의 "ErrorProviders"와 함께 "유효성 검사"이벤트를 사용하여 사용자 이름이 5 자 이상이고 암호가 적어도 1 대문자, 1 소문자 등, 이메일 형식은 정확합니다 ... 당신은 아이디어를 얻을.
다음은 사용자 이름 텍스트 상자에 대한 유효성 검사 코드 중 하나입니다 : 모든 단일 텍스트 상자 (반복됩니다
private void usrTxtBox_Validating(object sender, CancelEventArgs e)
{
if (string.IsNullOrEmpty(usrTxtBox.Text))
{
usrOk.Clear();
usrError.SetError(usrTxtBox, "field required!");
count++;
}
else if (!Regex.IsMatch(usrTxtBox.Text, "</REGEX PATTERN/>"))
{
usrOk.Clear();
usrError.SetError(usrTxtBox, "</ERROR MESSAGE/>");
count++;
}
else
{
usrError.Clear();
usrOk.SetError(usrTxtBox, "good to go");
count = 0;
}
}
내가이 사용자 이름, 비밀번호, 이름, 이메일 및 연락처 번호, 다른 정규식 각 패턴.
모두들 알다시피, "Validating"이벤트는 텍스트 상자가 "Focused"에서 "focus"가 사라질 때만 유효합니다. 따라서 필요한 값을 올바르게 입력하여 "Register"를 클릭하면 첫 번째 텍스트 상자의 경우 count는 0과 같으므로 오류가 발생하지 않습니다. 등록 단추에 대한 코드는 아래를 클릭하십시오.
private void rgstr_Click(object sender, EventArgs e)
{
if (ValidateChildren())
{
if (count != 0)
{
MessageBox.Show("check again");
}
else if (count == 0)
{
MessageBox.Show("gd to go");
}
}
}
ValidateChildren을 사용하여 유효성 검사를 시도했지만 작동하지 않습니다. 이것에 대한 해결책이 있습니까? 아니면 내 텍스트 상자의 유효성을 검사하기위한 대체 솔루션이 있습니까?
에 오신 것을 환영합니다! 나는 당신의 제목을 편집했습니다. "질문에"제목에 "꼬리표"를 포함시켜야합니까? ", 여기서 합의는"아니오,하지 말아야합니다 "입니다. http://meta.stackexchange.com/questions/19190/should-questions-include-tags-in-their-titles –
아, 죄송합니다. 내 미래의 질문에 유의할 것입니다. 감사합니다 – winston
http://stackoverflow.com/questions/8915151/c-sharp-validating-input-for-textbox-on-winforms? 이벤트가 유효하지 않은 경우 취소 하시겠습니까? e.Cancel()? 그것은 올바르게 검증 할 수는 있지만 그에 대한 반응은 없습니다. 무엇이 문제입니까? 잘못된 입력의 유효성을 검사하거나 모든 것을 잘못 표시합니까? – wondra