小编use*_*452的帖子

如何验证类属性?

背景:

我有一个CSV文件,我需要准备并验证每一行中的每个元素,并创建一个具有有效数据的类的集合.

即CSV文件看起来像:

   EmpID,FirstName,LastName,Salary
    1,James,Help,100000
    2,Jane,Scott,1000
    3,Mary,Fraze,10000
Run Code Online (Sandbox Code Playgroud)

类看起来像:

public class Employees
    {
        public int EmpID { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public string Salary { get; set; }
        public string ErrorReason { get; set; }
    }
Run Code Online (Sandbox Code Playgroud)

以下是每个字段所需的验证:

  • 的EmpID:

    • 它是一个必填字段,因此不能为空或空
    • 它应该只是一个整数
    • 它应该不超过2位数
    • 它应该存在于数据库中(查询该数据库并检查员工是否以此empid退出.
  • FirstName(LastName的相同验证):

    • 它是一个必填字段,因此不能为空或空
    • 它应该只是字母表.
    • 不允许超过30个字符
  • 薪水:

    • 它是一个必填字段,因此不能为空或空
    • 它应该是小数.

要做到这一点,这是我的方法:

  1. 逐行读取CSV文件
  2. 对于每个元素,即EmpId,FirstName等,通过调用具有验证逻辑的单个方法来执行所需的验证. 例如:public bool ValidateIsDecimal(string value){} public bool ValidateIsEmpIdExists(string value){} etc
  3. 如果有效,请填写"Employees"类的相应属性.
  4. 如果NOT VALID,请填写"ErrorReason"属性,并说明导致验证失败的原因.(例如:缺少必填字段或数据类型不是小数等)
  5. 将此类添加到Employees集合(例如:List)

所以,我的问题是,这是正确的方法,还是有任何其他更好/更清晰的方法来验证类属性.

谢谢

c# csv validation

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

c# ×1

csv ×1

validation ×1