保存资料校验判断输入是否有效(IsInvalid)
保存资料校验判断输入是否有效(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
/// <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
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

参考文档:
CSFrameworkV6旗舰版 | 单表基础资料窗体完整C#源码|C/S开发框架
CSFrameworkV6 - 使用DevExpress BaseEdit.ErrorText进行多个数据校验
C#使用PInvoke.Kernel32加载非托管DLL嵌入资源-C/S开发框架
CSFrameworkV6旗舰版 | 单表基础资料窗体完整C#源码|C/S开发框架
CSFrameworkV6 - 使用DevExpress BaseEdit.ErrorText进行多个数据校验
C#使用PInvoke.Kernel32加载非托管DLL嵌入资源-C/S开发框架
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
