溫馨提示×

ASP.NET Core中的數(shù)據(jù)驗證與錯誤提示怎么配置

小億
163
2024-05-09 18:15:55
欄目: 編程語言

在ASP.NET Core中,數(shù)據(jù)驗證和錯誤提示可以通過使用數(shù)據(jù)注解來配置。數(shù)據(jù)注解是一種用于在模型類上定義驗證規(guī)則的屬性。常用的數(shù)據(jù)注解包括:

  1. Required:指定屬性的值不能為空。
  2. Range:指定屬性的值必須在指定范圍內(nèi)。
  3. RegularExpression:指定屬性的值必須符合指定的正則表達式。
  4. StringLength:指定屬性的字符串長度必須在指定范圍內(nèi)。

示例代碼如下:

public class Person
{
    [Required(ErrorMessage = "姓名不能為空")]
    [StringLength(50, ErrorMessage = "姓名長度不能超過50個字符")]
    public string Name { get; set; }

    [Range(0, 120, ErrorMessage = "年齡必須在0到120之間")]
    public int Age { get; set; }
}

如果需要自定義錯誤消息,可以在數(shù)據(jù)注解中使用ErrorMessage屬性來指定錯誤消息。當模型驗證失敗時,ASP.NET Core會返回包含錯誤消息的ModelState對象。

另外,還可以通過配置Startup類中的ConfigureServices方法來設(shè)置數(shù)據(jù)驗證的全局錯誤消息,示例代碼如下:

services.AddMvc()
    .AddDataAnnotationsLocalization(options =>
    {
        options.DataAnnotationLocalizerProvider = (type, factory) =>
            factory.Create(typeof(SharedResource));
    });

以上代碼將全局錯誤消息設(shè)置為從SharedResource類中獲取,可以根據(jù)需要修改為其他資源類。

0