保存资料校验判断输入是否有效(IsInvalid)
作者:C/S框架网|www.csframewo  发布日期:2023/04/07 15:38:03
  保存资料校验判断输入是否有效(IsInvalid)

CommonTools.IsInvalid 方法

保存资料前需要对输入项进行检查,检查不通过,文本框右侧显示红色X图标,如下图:


贴图图片-校验判断


C# 代码:


C# Code:


/// <summary>
/// 检查文本框资料是否无效
/// </summary>
/// <param name="edit">文本框</param>
/// <param name="errorText">提示消息</param>
/// <param name="ruler">数字类型文本框校验规则</param>
/// <returns></returns>
public static bool IsInvalid(BaseEdit edit, string errorText = "不能为空", IntRuler ruler = IntRuler.不判断)
{
  edit.ErrorText
= "";
  
if (edit.Visible == false) return false; //隐藏的控件不处理
  
  
//数字类型
  
if ((edit.EditValue == DBNull.Value || edit.EditValue is Int32 || edit.EditValue is Decimal
  
|| edit.EditValue is Single || edit.EditValue is Double
  
|| edit.EditValue is int || edit.EditValue is float) && ruler != IntRuler.不判断)
  {
    
bool valid = true;
    
    
switch (ruler)
    {
      
case IntRuler.大于0:
      valid
= edit.EditValue.ToStringEx().ToDecimal() > 0;
      errorText
= "必须大于0";
      
break;
      
case IntRuler.等于0:
      valid
= edit.EditValue.ToStringEx().ToDecimal() == 0;
      errorText
= "必须等于0";
      
break;
      
case IntRuler.小于0:
      valid
= edit.EditValue.ToStringEx().ToDecimal() < 0;
      errorText
= "必须小于0";
      
break;
    }
    
    
if (valid == false)
    {
      edit.ErrorIconAlignment
= ErrorIconAlignment.MiddleRight;
      edit.ErrorText
= errorText;
      
return true;
    }
  }
  
  
//日期时间
  
if (edit is DateEdit editor)
  {
    
if (editor.DateTime == DateTime.MinValue || edit.Text.IsEmpty())
    {
      
if (String.IsNullOrWhiteSpace(errorText)) errorText = "不能为空";
      edit.ErrorIconAlignment
= System.Windows.Forms.ErrorIconAlignment.MiddleRight;
      edit.ErrorText
= errorText;
      
return true;
    }
  }
  
  
//字符或其他
  
if (edit.EditValue.IsEmpty())
  {
    
if (String.IsNullOrWhiteSpace(errorText)) errorText = "不能为空";
    
    edit.ErrorIconAlignment
= System.Windows.Forms.ErrorIconAlignment.MiddleRight;
    edit.ErrorText
= errorText;
    
return true;
  }
  
  
return false;
}


//来源:C/S框架网 | www.csframework.com | QQ:23404761



使用:


C# Code:

//多个输入项检查。若检查不通过,文本框右侧显示红色X图标
var isInvalid = false
| CommonTools.IsInvalid(txtDocDate)
| CommonTools.IsInvalid(txtCustomerCode)
| CommonTools.IsInvalid(txtSalesId)
| CommonTools.IsInvalid(txtCurrency)
| CommonTools.IsInvalid(txtPaymentType)
| CommonTools.IsInvalid(txtTotalQuantity, "", IntRuler.大于0)
| CommonTools.IsInvalid(txtTotalAmount, "", IntRuler.大于0);
if (isInvalid) return false;

//来源:C/S框架网 | www.csframework.com | QQ:23404761






C/S框架网|原创精神.创造价值.打造精品


扫一扫加作者微信
C/S框架网作者微信 C/S框架网|原创作品.质量保障.竭诚为您服务
上一篇 下一篇