C#   发布时间:2022-04-13  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何对用户输入的数据进行验证大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

为了保证用户输入系统的数据是有效的,同时也是为了避免程序出现不可预期的问题,保证应用程序能够安全的运行,所以对输入的数据进行验证是非常有必要的。
刚开始学代码的时候,我是这样进行数据校验的

如何对用户输入的数据进行验证


看上去是不是很丑陋...,表单数据多的时候往往能写上几百上千行的if判断语句。并且每个需要保存更新数据的地方都需要编写这样的验证代码...
后来,稍微学会点了偷懒的技巧,把数据的验证放到了对象里,这样客户端每次只需要调用验证方法就可以对数据进行验证。

public IEnumerable<Tuple<bool, String>> Validate()
{
    if (String.IsNullOrEmpty(Name))
    {
        yield return new Tuple<bool, String>(false, "客户姓名不允许为空!");
    }
    if (Age > 0 && Age <= 120)
    {
        yield return new Tuple<bool, String>(false, "年龄的有效范围是1~120岁!");
    }
    if (String.IsNullOrEmpty(PhonE))
    {
        yield return new Tuple<bool, String>(false, "电话号码不允许为空!");
    }

    //... 以下还有一百行代码
}

// 客户端调用代码
foreach (var item in custom.Validate())
{
    if (!item.Item1)
    {
        Console.WriteLine(item.Item2);
        return;
    }
}

再后来,看到了别人通过给对象成员添加校验特性,在提交数据时通过反射获取对象成员声明的特性进行校验,进一步简化了代码。你可以自己去定义数据验证的相关验证特性类和验证处理的代码,但作为一个懒人,我通过使用.NET提供的System.ComponentModel.DataAnnotations.dll库中的校验特性和验证处理类就可以很简单的实现数据的校验。如果你之前写过ASP.NET MVC相关的代码,应该对他比较熟悉

    public class Custom
    {
        [required]
        public String Name { get; set; }
        [required]
        [Range(0, 2)]
        public int Sex { get; set; }
        [required]
        [MaxLength(11)]
        public String Phone { get; set; }
        [required]
        [Range(1, 120, Errormessage = "年龄选择范围1~120岁")]
        public int age { get; set; }

        //... 以下还有一百行代码
    }

如何对用户输入的数据进行验证

关于更多的System.ComponentModel.DataAnnotations资料https://docs.microsoft.com/zh-cn/dotnet/api/system.componentmodel.dataannotations?view=net-6.0

大佬总结

以上是大佬教程为你收集整理的如何对用户输入的数据进行验证全部内容,希望文章能够帮你解决如何对用户输入的数据进行验证所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: