在MVC6 TagHelper中我创建了两个文本框和绑定模型,其中包含自定义错误消息,一个文本框类型为字符串,另一个类型为int,在回发期间,数据注释中指定的自定义错误消息未正确呈现键入字符串以外的其他类型。
我的控制器
public class HomeController : Controller
{
public IActionResult Index()
{
return View();
}
[HttpPost]
public IActionResult Index(Sample model)
{
return View(model);
}
}
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>
这里我单独检查服务器端验证,如果我单击提交按钮 第一个文本框跨度验证显示需要字符串值,但第二个文本框跨度验证显示值''无效。而不是需要Int值< / strong>
有人可以建议如何解决这个问题吗?