Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在ASP.NET核心MVC中为客户端验证配置区域性_C#_Validation_Asp.net Core_Asp.net Core Mvc - Fatal编程技术网

C# 在ASP.NET核心MVC中为客户端验证配置区域性

C# 在ASP.NET核心MVC中为客户端验证配置区域性,c#,validation,asp.net-core,asp.net-core-mvc,C#,Validation,Asp.net Core,Asp.net Core Mvc,我很难在我的应用程序中配置客户端验证。我希望它能够接受本地化的pt BR输入 我尝试在启动时使用以下命令配置应用程序: var locale = "pt-BR"; RequestLocalizationOptions localizationOptions = new RequestLocalizationOptions { SupportedCultures = new List<CultureInfo> { new CultureInfo(locale) },

我很难在我的应用程序中配置客户端验证。我希望它能够接受本地化的
pt BR
输入

我尝试在启动时使用以下命令配置应用程序:

var locale = "pt-BR";
RequestLocalizationOptions localizationOptions = new RequestLocalizationOptions {
    SupportedCultures   = new List<CultureInfo> { new CultureInfo(locale) },
    SupportedUICultures = new List<CultureInfo> { new CultureInfo(locale) },
    DefaultRequestCulture = new RequestCulture(locale)
};
var locale=“pt BR”;
RequestLocalizationOptions localizationOptions=新的RequestLocalizationOptions{
SupportedCultures=新列表{new CultureInfo(locale)},
SupportedCultures=新列表{new CultureInfo(locale)},
DefaultRequestCulture=新的RequestCulture(区域设置)
};
我将
设置到主HTML文件中

它用于在服务器端呈现货币、日期时间和数字,但客户端验证仍然需要
en-US
输入

客户端正在使用
jquery.validate
jquery.validate.unobtrusive


如何配置客户端验证以理解本地化的输入?

创建如下帮助器类:

public class PortugueseCulture : CultureInfo
{
    private readonly Calendar cal;
    private readonly Calendar[] optionals;

    public PortugueseCulture()
        : this("pt-BR", true)
    {
    }

    public PortugueseCulture(string cultureName, bool useUserOverride) : base(cultureName, useUserOverride)
    {
        //Your Custom Currency Numbers Calendar Culture Code
    }

    public override Calendar Calendar
    {
        get { return cal; }
    }

    public override Calendar[] OptionalCalendars
    {
        get { return optionals; }
    }
}
然后在Global.asax.cs中添加此方法

    protected void Application_BeginRequest(object sender, EventArgs e)
    {
        var portugueseCulture = new PortugueseCulture();
        Thread.CurrentThread.CurrentCulture = portugueseCulture;
        Thread.CurrentThread.CurrentUICulture = portugueseCulture;
    }

@Igor我阅读了所有文档,但似乎没有多大帮助。我找不到解决方案如果使用标准javascript方法在字符串和其他类型之间转换,则无法“配置”客户端以考虑语言环境。您需要从
Intl
库调用函数。我现在了解@Igor,我知道用于客户端验证的
jquery.validade
库可以配置为接受本地化输入,但我不知道如何配置。您需要配置
$.validator
。您可以编写自己的脚本来设置默认值,或者使用诸如