如何验证注册表格?目前,我正在开发一个项目,它有许多文本框,几个单选按钮和复选框,我需要验证每个文本框中少数文本框是必需的,很少可以为空,但如果用户在这些空文本框上输入文本,它应验证这些输入。目前,我正在使用带有嵌套if else语句的正则表达式,但它非常耗时,而且我对如此多的if else语句感到困惑。
if (textBox1.Text != string.Empty) {
Regex emp1=new Regex("^[a-z-A-Z]+$");
if(emp1.IsMatch(textBox1.Text)) {
if (textBox2.Text != string.Empty) {
Regex emp2 = new Regex("^[0-9]+$");
if(emp2.IsMatch(textBox2.Text)) {
int a = int.Parse(textBox2.Text);
else {
MessageBox.Show("characters not allowed");
textBox2.Focus();
}
} else {
MessageBox.Show("pls enter age");
}
} else {
MessageBox.Show("no. are not allowed ");
}
} else {
MessageBox.Show("pls enter name");
textBox1.Focus();
}
答案 0 :(得分:4)
每次检查后都可以使用退货。
if (string.IsNullOrEmpty(textBox1.Text))
{
MessageBox.Show("pls enter name");
textBox1.Focus();
return;
}
Regex emp1=new Regex("^[a-z-A-Z]+$");
if (!emp1.IsMatch(textBox1.Text))
{
MessageBox.Show("no. are not allowed ");
return;
}
等
如果您不想将回复传播到代码中,可以使用else if
。对于此类检查,我个人赞成在消息之后立即使用退货。
答案 1 :(得分:3)
您可以使用else if
语句执行此操作:
string message = null;
TextBox focusMe = null;
if (failure1)
{
message = "message1";
}
else if (failure2)
{
message = "message2";
}
else if (failure3)
{
message = "message3";
}
if (!string.IsNullOrEmpty(message))
{
MessageBox.Show(message);
if (focusMe != null) focusMe.Focus();
}
我是单return
的粉丝,所以这是我喜欢的风格。此外,您可以通过将else if
替换为if
并将错误添加到列表中来轻松修改此问题以检查多种错误情况。