添加数据验证

Program.cs中使用UseServiceContext() 激活AspectCore

public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
            .UseServiceContext(o =>
            {
                var p = Predicates.ForService("Rswl.*");
                o.AddDataAnnotations(p);
            })
           .ConfigureWebHostDefaults(webBuilder =>
            {
                  webBuilder.UseStartup<Startup>();
           });

注意AddControllersAsServices方法

services.AddControllersWithViews().AddControllersAsServices();

定义IDataState 属性,判断DataState.IsValid实现数据验证

结合异常处理会直接抛出错误信息

常用的内置验证 Attribute:

[CreditCard]: 验证属性是信号卡号格式。


[Compare]: 验证模型中的两个属性匹配。


[EmailAddress]: 验证属性是 Email 格式。


[Phone]: 验证属性是 电话号码 格式。


[Range]: 验证属性在指定的范围内。


[RegularExpression]: 验证数据匹配指定的正则表达式。


[Required]: 使属性成为必填。


[StringLength]: 验证字符串类型属性的最大长度。


[Url]: 验证属性是 URL 格式。

参考资料 AspectCore DataAnnotations

results matching ""

    No results matching ""