【问题标题】:What is better solution for validate form TextBoxs value?验证表单 TextBoxs 值的更好解决方案是什么?
【发布时间】:2013-09-20 15:14:05
【问题描述】:

在我的系统中有许多用于插入和编辑数据库寄存器的表单

但是在将日期保存到数据库之前,我需要验证任何阵营,验证它的值是否为空,验证 TextBox.Text 长度等...

我用许多 if 验证了它们

if (tbName.Text.Equals("")) { }
if (tbPass.Password.Equals("")) { }
if (tbEmail.Text.Equals("")) { }
if (tbTelephone.Text.Equals("")) { }

if (tbNome.Text.Length < 4) { }
if (tbPass.Password.Length < 5) { }
if (!tbEmail.Text.Contains('@')) { }

但效率很低,我不知道有什么其他解决方案

对此通常有什么解决方案?

【问题讨论】:

  • First google hit on WPF Validation。您应该使用 MVVM 而不是直接操作或获取 UI 元素的属性。
  • @HighCore 嗯嗯我是WPF的初学者,你能告诉我更多关于这方面的信息吗?或者给我一个学习参考,好吗?

标签: c# wpf logic


【解决方案1】:

这是手工制作的,所以会有一些语法错误
您可能还想实现 iNotifyPropertyChanged
然后验证

public Class ValidatedText 
{
    private string vText;
    private bool valid = true;
    Int23 maxLen = 0;
    public bool Valid 
    {   
       get { return valid; }
       set 
       {  
          if (valid == value) return;
          valid = value;
       }
    } 
    public string Vtext 
    {  
       get { return vText; }
       set 
       {  
          if (vText == value) return;
          if (value.Len < 0) 
          {
              Valid = false;
              return;
          }
          // do additional validation here
          vText = value;
       } 
   }
   public ValidatedText (string VText; Int32 MaxLen)
   {   vText = Vtext; maxLen - MaxLen;   }
}

【讨论】:

    猜你喜欢
    • 2014-06-14
    • 2022-06-28
    • 2023-03-22
    • 1970-01-01
    • 2011-05-06
    • 2011-11-22
    • 2016-02-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多