Dav*_*don 4 c# validation if-statement
我有以下代码:
private void btnOK_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(tbVendorName.Text))
{
VendorName = tbVendorName.Text;
if (!string.IsNullOrEmpty(rtbVendorAddress.Text))
{
VendorAddress = rtbVendorAddress.Text;
if (!string.IsNullOrEmpty(tbVendorEmail.Text))
{
VendorEmail = tbVendorEmail.Text;
if (!string.IsNullOrEmpty(tbVendorWebsite.Text))
{
VendorWebsite = tbVendorWebsite.Text;
this.Close();
}
else
{
MessageBox.Show("Vendor Website Required");
}
}
else
{
MessageBox.Show("Vendor email is required");
}
}
else
{
MessageBox.Show("Vendor address is required");
}
}
else
{
MessageBox.Show("Vendor name is required");
}
}
Run Code Online (Sandbox Code Playgroud)
但它看起来很可怕.有没有更好的办法?或者甚至是一种使代码更具可读性的替代方法?
更好的方法是掌握MVVM模式.在那里你可以创建一个ViewModel并在那里定义所有输入数据:
class VendorViewModel
{
[Required]
public string Name { get; set; }
public string Website { get; set; }
[Regex("regex for email")]
public string Email { get; set; }
[MaxLength(160)]
public string Address { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
然后框架将在每个文本框或任何其他输入元素之后显示输入错误(如果有).将根据正确验证的所有字段自动设置按钮的启用属性.
归档时间: |
|
查看次数: |
3158 次 |
最近记录: |