using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using FluentValidation;
using FluentValidation.Results;
using Microsoft.Extensions.Localization;
namespace BlazorServerApp.Data
{
public class Person
{
[Display(Name = "序號")]
public int Sn { get; set; }
[Display(Name = "姓氏")]
public string Surname { get; set; }
[Display(Name = "名字")]
public string Forename { get; set; }
}
public class PersonValidator : AbstractValidator<Person>
{
public PersonValidator(IStringLocalizer<Person> localizer)
{
// 透過 IStringLocalizer 介面取得多國語言資源
RuleFor(x => x.Surname)
.NotNull()
.WithMessage(x => localizer["Surname is required"]);
// 透過 IStringLocalizer 介面取得多國語言資源
RuleFor(x => x.Forename)
.NotNull()
.WithMessage(x => localizer["Forename is required"]);
}
}
}