Silverlight验证 - 如何阻止用户提交无效数据

时间:2009-09-08 10:30:23

标签: silverlight silverlight-3.0

我有一个ChildWindow用户在文本字段中输入一些数据。现在,当他点击提交按钮时,我只有在输入的数据有效时才需要关闭ChildWindow?怎么检查?我已经搜索并看到了许多关于如何验证文本框的示例,但我需要知道如何查看一切是否有效并让用户关闭窗口?

2 个答案:

答案 0 :(得分:1)

好吧,我希望我能正确理解你的问题,而不是过于天真。

正如您所写,您知道如何实际验证表单的内容,我将简要介绍:

有:

private void OKButton_Click(object sender, RoutedEventArgs e)
{
    this.DialogResult = true;
}
来自ChildWindow类的

,它处理子窗口的Click事件。在此方法中,您将调用验证例程,并且只有在验证返回true时才设置this.DialogResult。例如。像这样:

private void OKButton_Click(object sender, RoutedEventArgs e)
{
    if (MyAweSomeValidation() == true)
    {
        this.DialogResult = true;
    }
}

当然,您需要自己的MyAweSomeValidation()逻辑:)

属性DialogResult的实现方式是在设置时自动关闭子窗口。如果未设置该值,则窗口不会以此方式关闭。但是,如果你这样处理它,你应该告诉用户它为什么不关闭。 :)

HTH

答案 1 :(得分:0)

如果您有数据表格,请执行以下操作:

dataform1.ValidateItem();
if (!dataform1.ValidationSummary.HasErrors)
{
   dataform1.CommitEdit();
   DialogResult = true;
}