asp.net-mvc - 尽管没有 [Required] 属性,MVC3 仍然出现 'property field is required' 错误

标签 asp.net-mvc asp.net-mvc-3 viewmodel validation

我有这个代码:

@this.Html.DropDownListFor(vm => vm.FishId, 
    new SelectList(this.Model.Fishies, "FishId", "FishName", this.Model.FishId), "Please Select a Fish")

@this.Html.ValidationMessageFor(vm => vm.FishId)

这个模型很简单
public int FishId
{
    get;
    set;
}

所以这里没有验证。当我按下提交时,我收到一条消息 The FishId Field is Required. .这是客户端验证错误。知道是什么原因造成的吗?

如果我将验证消息更改为:
@this.Html.ValidationMessageFor(vm => vm.FishId, "Gotta select a fish, man")

然后错误消息更改(这是我想要的)到下拉列表的右侧,但是验证摘要仍然显示原始消息。

我的所有其他东西都将验证和消息作为 RequiredField(...) 属性或自定义验证方法。

这是怎么回事,如何更改验证摘要消息?

最佳答案

尝试将 int 设为可空

public int? FishId { get; set; } 

它应该通过验证,因为您允许空值

关于asp.net-mvc - 尽管没有 [Required] 属性,MVC3 仍然出现 'property field is required' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8354729/

相关文章:

c# - 与发布配置文件名称相关的 ASP.NET web.config 转换

jQueryUI 模态对话框不显示关闭按钮 (x)

android - 从 View 模型中删除检查表是否为空的 UI 元素

wpf - MVVM ICommand 替代方案

c# - 将 int 的对象转换为 int 给出空引用

c# - 无论用户文化如何,将货币格式化为始终使用美元

c# - 在 MVC EF 中导航多个关系

asp.net-mvc - 实现 "Down for maintenance"页面

asp.net-mvc - 无法安装 Asp.net MVC 3

android - 当 "do not keep activity"开发选项打开时,ViewModel 被清除