c# - 数据验证在编辑模式下不起作用

标签 c# wpf entity-framework sqlite

我想在文本框中验证该名称是否存在于数据库中。我正在使用 wpf 和 c# 。我在保存新数据时对文本框实现了验证。我的问题是在编辑模式下:当我进入编辑模式并尝试保存时,出现错误,表明该名称已存在。

下面的代码在保存模式下工作正常,但是当涉及到编辑模式时,当数据绑定(bind)时,会显示错误消息。

请建议我一个好方法来实现也适用于编辑模式的验证。

class MyParent
 {
   public MyCarClass CurrentCarEntity {get; set;}

    private void txtName_TextChanged(object sender, RoutedEventArgs e)
     {            
         CurrentCarEntity.Name = txtName.Text.Trim();
         var getName = //Code for getting name from local db

         if(CurrentCarEntity.Name != Null)
           {
              if(getName.Equals(CurrentCarEntity.Name))
                {
                   MessageBox.Show("Name Already Exists");
                }
           }
     }   
}

最佳答案

如果名称已经存在,您似乎会使整个表单的验证失败 - 每次您尝试提交(编辑、插入等)时都会触发验证,因此编辑总是会失败。

我会制作两个文本框,一个用于插入,一个用于编辑。在编辑模式下隐藏插入框,或者如果您想坚持使用插入框,至少在编辑时禁用验证器。

关于c# - 数据验证在编辑模式下不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27712304/

相关文章:

asp.net-mvc - EF 不会检测到更改

C# CompilerResults GenerateInMemory?

C# 合并同一个文本文件中的行

wpf - MVVM Light ViewModelLocator + ResourceDictionaries

c# - 为什么我的 View 不使用 EditorTemplates 文件夹来执行创建操作?

asp.net-mvc - 我应该在 Controller 中使用 Entity Framework 类还是模型类?

c# - Java 和 .NET 流通过 IKVM 的互操作性

c# - Html.Decoded 在字符串函数中有问题

c# - 如何使用 ToolTipService.Duration 使 WPF ToolTip 显示得更快?

wpf - 创建 VSIX 工具窗口时如何匹配 Visual Studio 的主题?