我的问题如下:
我有一个ChildWindow,它可以获得可编辑的实体。
我使用DataAnnotation属性来设置验证规则。
我的实体有一个Name属性,并在其上应用了必需属性。
如果我修改现有实体并清除绑定到Name属性的文本框 我收到一个验证错误,名称字段是必需的。
但是当我添加一个新实体并且Name属性为null时,验证不起作用。
我在类的构造函数中将Name属性设置为String.Empty,并在子窗口中显示验证错误显示在文本框中的实体。
什么是最佳解决方案?
我可以将显示子窗口的按钮设置为不启动验证吗?
在Asp.NET中,按钮控件的IsCausesValidation属性为false,该按钮不会触发验证。
感谢提前l,
答案 0 :(得分:0)
你想要达到什么目的?在通过底层绑定对象上的setter实际设置属性之前,不会抛出验证异常。您是否希望在用户首次输入数据输入表单时显示所有验证错误?你在使用数据表吗?如果是这样,您应该能够在保存数据时验证整个表格,例如
private void OKButton_Click(object sender, RoutedEventArgs e)
{
bool valid = MyDataForm.ValidateItem();
if (valid)
{
MyDataForm.CommitEdit(true);
this.DialogResult = true;
}
}