Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.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# 是否有方法覆盖[DataType(DataType.Password)]的错误消息_C#_Asp.net_Asp.net Mvc_Validation - Fatal编程技术网

C# 是否有方法覆盖[DataType(DataType.Password)]的错误消息

C# 是否有方法覆盖[DataType(DataType.Password)]的错误消息,c#,asp.net,asp.net-mvc,validation,C#,Asp.net,Asp.net Mvc,Validation,我在MVC5中使用ASP.NET标识。对于密码验证,AccountViewModels.cs中有以下代码: [Required] [DataType(DataType.Password)] [Display(Name = "Password", ResourceType = typeof(MyResources.LocalizedText))] public string Password { get; set; } 在cshtml文件中: @Html.PasswordFor(m =>

我在MVC5中使用ASP.NET标识。对于密码验证,AccountViewModels.cs中有以下代码:

[Required]
[DataType(DataType.Password)]
[Display(Name = "Password", ResourceType = typeof(MyResources.LocalizedText))]
public string Password { get; set; }
在cshtml文件中:

@Html.PasswordFor(m => m.Password, new { @class = "form-control" })
不幸的是,错误消息内置于标识系统中,并且仅以英语显示。因为我使用的语言不止一种,所以我想根据页面当前语言自定义结果页面上的错误消息。有没有办法做到这一点

我试过:

[Required(ErrorMessageResourceType = typeof(MyResources.LocalizedText), ErrorMessageResourceName = "password_required")]
[DataType(DataType.Password, ErrorMessage = null, ErrorMessageResourceType = typeof(MyResources.LocalizedText), ErrorMessageResourceName = "password_errorDatatype")])]
通过上面的代码,我可以覆盖[Required]错误消息,但不能覆盖数据类型。有什么建议吗


感谢

要自定义数据类型错误消息,您需要为要支持的每种语言安装AspNet.Identity.Core的本地化NuGet软件包

例如德语

Install-Package Microsoft.AspNet.Identity.Core.de
请注意,本地化包仅适用于少数语言。不幸的是,它们还不适用于任何斯堪的纳维亚语言


如果您需要支持的语言以外的其他语言,您将不得不进行某种黑客攻击。请看以下内容,其中包括ASP.NET团队一名开发人员建议的解决方法:

@wal数据类型密码验证的行为与链接中提到的所需验证完全不同。。。无论如何,谢谢你的链接!