我是一个想要迁移到 ASP.Net Core 和 Blazor 的网络表单人,我没有任何背景,MVC
以防万一有人基于MVC
.
我只对 ASP.Net Core Razor 页面感兴趣。
在 web 表单中,我将两个文件用于多语言网站,例如,我可以将相关的验证消息保存在 .aspx 页面或相关的 js 文件中(如果需要),而在 Core 中它的作用不同。在 webform 中,我可以将验证消息保存在 .aspx 文件本身中,而在 ASP.Net 核心中,我一直在使用 Single Model 类,并且在那里定义了验证消息。
网络表单结构
-en
--index
--aboutus
..
..
-ar
--index
--aboutus
ASP.Net Core 文件夹结构
Pages
-en
--index
--aboutus
..
..
-ar
--index
--aboutus
让我们说在Pages
文件夹下我创建了两个文件夹,一个用于英语,另一个用于阿拉伯语,在核心中我们让我们说我已经在模型文件中定义了我的验证。由于我有两种语言的模型文件,如何显示特定于语言的验证消息
下面的代码只是示例
using System;
using System.ComponentModel.DataAnnotations;
public class Starship
{
[Required]
[StringLength(16,
ErrorMessage = "Identifier too long (16 character limit).")]
public string Identifier { get; set; }
public string Description { get; set; }
[Required]
public string Classification { get; set; }
[Range(1, 100000,
ErrorMessage = "Accommodation invalid (1-100000).")]
public int MaximumAccommodation { get; set; }
[Required]
[Range(typeof(bool), "true", "true",
ErrorMessage = "This form disallows unapproved ships.")]
public bool IsValidatedDesign { get; set; }
[Required]
public DateTime ProductionDate { get; set; }
}
我面临的问题,因为我有一个模型文件,其中有英文验证我如何在 ASP.Net 核心中以最简单的方式显示阿拉伯语验证
假设我的网址是
www.example.com/en/
www.example.com/en/aboutus/
www.example.com/en/contact/
www.example.com/ar/
www.example.com/ar/aboutus/
www.example.com/ar/contact/
基于语言的验证消息能否仅基于上述 URL 显示,而无需对具有任何表单等的网站页面使用任何全球化功能。