我想在ASP.NET MVC 5
项目中返回空字符串以进行验证。我在视图模型中创建了一个属性:
[Required(ErrorMessageResourceType = typeof(TestResources), ErrorMessageResourceName = "Empty_Message", ErrorMessage = null)]
public int? TestProperty { get; set; }
在视图中:
@Html.ValidationMessageFor(x => x.TestProperty)
当我尝试这个时,我收到默认消息“此字段是必需的。”。我希望在这种情况下它是空的,因为我在错误消息的span
元素中添加了一个类,显示了一些图标。
我尝试过类似的东西:
[Required(ErrorMessage = "")]
public int? TestProperty { get; set; }
......但收到了错误:
必须设置ErrorMessageString或ErrorMessageResourceName,但是 不是两个。
答案 0 :(得分:1)
尝试设置空格。示例" Space"。那样可以解决你的问题。
[Required(ErrorMessage = " ")]
public int? TestProperty { get; set; }
答案 1 :(得分:0)
您可以使用以下代码:
[DisplayFormat(ConvertEmptyStringToNull=false)]
参考更多细节:
RequiredAttribute with AllowEmptyString=true in ASP.NET MVC 3 unobtrusive validation