C

雅轩聊科技 2024-08-02 17:19:27

哈喽,你好啊,我是雷工!

在添加人员信息时,首先需要对输入框是否有输入信息及输入的信息格式是否符合规范进行简单的验证,

以下为实 现笔记。

01 效果演示

①:姓名为空时,提示:人员姓名不能为空!

②:性别未选择时:提示:请选择人员性别!

③:年龄范围验证,根据出生日期计算年龄,当年龄小于18岁,大于1000岁时,提示:年龄需要在18-1000岁之间!

④:当未选择所属组织时,提示请选择所属组织!

⑤:考勤卡号为空时,提示:考勤卡号不能为空!

⑥:验证身份证格式,当位数等不满足时提示:身份证号格式不符合要求哦!

⑦:验证身份证号中的出生日期与用户选择的出生日期是否一致,不一致时提示:身份证号与出生日期不匹配!

02 实现步骤

2.1、姓名为空

姓名为空时数据验证代码如下:

if(this.txtPeopleName.Text.Trim().Length==0){ MessageBox.Show("人员姓 名不能为空!", "雷工提示"); this.txtPeopleName.Focus(); return;}

2.2、性别未选

当未选择性别选项时,数据验证代码为:

if (!this.rdoFemale.Checked && !this.rdoMale.Checked){ MessageBox.Show("请选择人员性别!", "雷工提示"); return;}

2.3、年龄范围

验证年龄范围是否在可录入的范围内,数据验证代码为:

int age = DateTime.Now.Year - Convert.ToDateTime(this.dtpBirthday.Text).Year;if (age < 18 || age > 1000){ MessageBox.Show("年龄需要在18-1000岁之间!", "雷工提示"); return;}

2.4、组织验证

验证是否选择所属组织,验证代码为:

if (this.cboGroupName.SelectedIndex == -1){ MessageBox.Show("请选择所属组织!", "雷工提示"); return;}

2.5、考勤卡号

验证 考勤卡号是否为空,验证代码如下:

if (this.txtCarNo.Text.Trim().Length==0){ MessageBox.Show("考勤卡号不能为空!", "雷工提示"); this.txtCarNo.Focus(); return;}

2.6、身份证验证

验证身份证格式是否正确,

这里采用正则表达式,现在基于正则表达式验证的通用类DataValidate中编写身份证格式的验证方法,

代码如下:

/// <summary>/// 验证身份证号格式/// </summary>/// <param name="txt"></param>/// <returns></returns>public static bool IsIdentityCard(string txt){Regex objReg = new Regex(@"(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)");return objReg.IsMatch(txt);}

在添加人员信息的按钮事件的代码中验证身份证信息格式时直接调用方法,

代码如下:

if(!Common.DataValidate.IsIdentityCard(this.txtPeopleIdNo.Text.Trim())) {MessageBox.Show("身份证号格式不符合要求哦!", "雷工提示");this.txtPeopleIdNo.SelectAll();this.txtPeopleIdNo.Focus();return; }

2.7、身份证日期

验证输入的身份证号中是否包含设置的出生日期,

代码如下:

string birthday = Convert.ToDateTime(this.dtpBirthday.Text.Trim()).ToString("yyyyMMdd"); if(!this.txtPeopleIdNo.Text.Trim().Contains(birthday)) {MessageBox.Show("出生日期与身份证不匹配!", "雷工提示");this.txtPeopleIdNo.SelectAll();this.txtPeopleIdNo.Focus();return; }

03 后记

以上为输入信息的简单验证,实际项目中还会涉及更加复杂,更加有特定要求的验证,到时候可以借鉴参考再加以扩展,实现思路是一致的。

你在开发中有遇到过哪些奇葩验证,欢迎在评论区或交流群中讨论。

0 阅读:0

雅轩聊科技

简介:感谢大家的关注