C# MVC6 TagHelper的服务器端验证中出现错误的自定义错误消息
在MVC6 TagHelper中,我为带有自定义错误消息的文本框和绑定模型创建了两个文本框,一个文本框的类型为string,另一个文本框的类型为int。在回发过程中,数据注释中指定的自定义错误消息未正确呈现为除string以外的其他类型 我的控制器是C# MVC6 TagHelper的服务器端验证中出现错误的自定义错误消息,c#,asp.net-core-mvc,tag-helpers,C#,Asp.net Core Mvc,Tag Helpers,在MVC6 TagHelper中,我为带有自定义错误消息的文本框和绑定模型创建了两个文本框,一个文本框的类型为string,另一个文本框的类型为int。在回发过程中,数据注释中指定的自定义错误消息未正确呈现为除string以外的其他类型 我的控制器是 public class HomeController : Controller { public IActionResult Index() { return View(); } [HttpPos
public class HomeController : Controller
{
public IActionResult Index()
{
return View();
}
[HttpPost]
public IActionResult Index(Sample model)
{
return View(model);
}
}
模型类是
public class Sample
{
[Required(ErrorMessage = "String value is needed")]
public string StringValue { get; set; }
[Required(ErrorMessage = "Int value is needed")]
public int IntValue { get; set; }
}
我的Html标记帮助程序代码是
@model ValidationMessage.Models.Sample
<form method="post" action="/Home/Index">
<label>String</label>
<input asp-for="StringValue" type="text" />
<span asp-validation-for="StringValue"></span>
<br />
<label>Int</label>
<input asp-for="IntValue" type="text" />
<span asp-validation-for="IntValue"></span>
<br />
<input type="submit" />
</form>
@model ValidationMessage.Models.Sample
一串
Int
如果单击submit按钮,我将单独检查服务器端验证
第一个文本框范围验证显示需要字符串值,但第二个文本框范围验证显示值“”无效。而不是需要Int值
有人能建议如何解决这个问题吗?Make IntValue int?。并从输入中删除type=“text”。删除type=“text”也会得到同样的结果,IntValue是我的属性名称,它已经是int类型了。将它设置为可为null的int=>int?是的,这很有效,谢谢@KoenSIs有没有办法实现这一点而不将其设为可为null,因为在MVC5中,它对MVC6的工作很好,只有它这样显示。设置IntValue int?。并从输入中删除type=“text”。移除type=“text”也会得到同样的结果,IntValue是我的属性名称,它已经是int类型了。使它成为一个可为null的int=>int?是的,这很有效,谢谢@KoenSIs有任何方法可以实现这一点,而不使它为null,因为在MVC5中,它对MVC6的工作很好,只有它这样显示。