[WinForm每日一帖] 如何验证Editor中输入的数据合法性

  
当user在ultraTextEditor中输入文本后, 有时我们需要check该数据是否是合法的, 比如一个Item No., 它的合法格式是xx.xxxxx.xxx, 其中x代表数字或字母, 如果user输入不是这种形式的数据将是不允许的, 因此有必要对数据的合法性进行check. 这里我们使用Validate事件作check.
(1)   为什么用Validate 事件而不用传统的LostFocus(.Net 中是Leave)
下面的代码是 ultraMaskedEdit1 的三个事件, 分别是Leave,Validated和Validating,当点击ToolBar上的Exit按钮时看哪些能够触发.
        private void ultraTextEditor1_Leave(object sender, EventArgs e)
        {
            MessageBox.Show("Leave event Occured!");
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Winform编写一个数据验证类可以使用正则表达式来验证输入数据格式,以下是一个示例: ```csharp public static class DataValidator { // 验证邮箱格式 public static bool ValidateEmail(string email) { string pattern = @"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$"; return Regex.IsMatch(email, pattern); } // 验证手机号码格式 public static bool ValidatePhoneNumber(string phoneNumber) { string pattern = @"^1[3456789]\d{9}$"; return Regex.IsMatch(phoneNumber, pattern); } // 验证身份证号码格式 public static bool ValidateIdNumber(string idNumber) { string pattern = @"^\d{17}[\dXx]$"; return Regex.IsMatch(idNumber, pattern); } } ``` 在上面的示例,定义了`DataValidator`数据验证类,包含了三个静态方法用于验证邮箱、手机号码和身份证号码格式。在每个方法,使用正则表达式来验证输入数据格式,如果符合指定格式则返回`true`,否则返回`false`。 使用时,可以在需要验证数据的地方调用相应的方法进行数据验证。例如: ```csharp private void submitButton_Click(object sender, EventArgs e) { string email = emailTextBox.Text; string phoneNumber = phoneNumberTextBox.Text; string idNumber = idNumberTextBox.Text; // 验证邮箱格式 if (!DataValidator.ValidateEmail(email)) { MessageBox.Show("邮箱格式不正确!"); return; } // 验证手机号码格式 if (!DataValidator.ValidatePhoneNumber(phoneNumber)) { MessageBox.Show("手机号码格式不正确!"); return; } // 验证身份证号码格式 if (!DataValidator.ValidateIdNumber(idNumber)) { MessageBox.Show("身份证号码格式不正确!"); return; } // 数据验证通过,提交数据 // ... } ``` 在上面的示例,在提交数据之前先调用了`DataValidator`数据验证的相应方法进行数据格式验证,如果数据格式不正确则提示错误信息,否则提交数据

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值