在 Fluent 验证中以不同语言显示消息

Displaying messages in different languages in Fluent validation

提问人:Dilara PINAR 提问时间:10/9/2023 更新时间:10/9/2023 访问量:16

问:

 public class ExpenditureCreateValidator : AbstractValidator<ExpenditureCreateVM>
 {

     private readonly List<string> _allowedExtensions;

     public ExpenditureCreateValidator()
     {
         _allowedExtensions = new List<string> { ".png", ".jpg", ".jpeg", ".txt", ".pdf", ".docx" };

         RuleFor(file => file.File)
             .NotEmpty().WithMessage("Dosya seçilmelidir.")
             .Must(file => file != null && _allowedExtensions.Contains(Path.GetExtension(file.FileName).ToLowerInvariant()))
             .WithMessage("Bu dosya uzantısı kabul edilemiyor. Dosya yalnızca '.png', '.jpg', '.jpeg', '.txt', '.pdf', '.docx' uzantılarını destekler.");


         RuleFor(x => x.SpendingAmount)
             .NotEmpty().WithMessage("Lütfen bir harcama tutarı giriniz.");

         RuleFor(x => x.SpendingAmount)
             .GreaterThan(0).WithMessage("Harcama tutarı sıfırdan küçük olamaz.");

         RuleFor(x => x.SpendingAmount)
             .Must(BeAValidNumber).WithMessage("Lütfen rakamsal bir değer giriniz.");

     }

     private bool BeAValidNumber(decimal value)
     {
         return value > 0;
     }

 }

似乎除了提示用户输入数值的部分之外,所有查询都以土耳其语显示。但是,即使您指定只应输入数值,提示也会以英语而不是土耳其语显示。我该如何解决这个问题?为什么尽管写了同样的东西,但还是有区别?

asp.net-core-mvc data-annotations customvalidator

评论

0赞 Xinran Shen 10/10/2023
在我看来,错误消息可能是由前端验证而不是您的自定义验证显示的。

答: 暂无答案