MVC3得到一个“属性字段是必须的”的错误,尽管没有[必需]属性
我有这样的代码:MVC3得到一个“属性字段是必须的”的错误,尽管没有[必需]属性
@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(...)的属性,或者在自定义的验证方法。
怎么回事,我该如何更改验证摘要信息?
不知道如果要禁用验证或更改错误信息。如果是后者,那么你应该尝试添加下面的模型。
[Required(ErrorMessage="Gotta select a fish, man")]
public int FishId {get;set;}
原来这个效果更好,我曾试过这个,但喜欢这个小丑我是,我已经将它应用于错误的视图模型!欢呼:) – NibblyPig
我基本上有这个确切的设置(这里在2017年),但我一直得到什么似乎是默认的“必需”消息,而不是我设置的ErrorMessage。 :( –
尽量把INT可空
public int? FishId { get; set; }
它应该通过验证,因为你允许空值
创建实例,并将其传递到打开的结果....
例子:返回视图( “添加”,新客户());
这将使用默认值初始化所有值类型。
你的控制器方法是什么样的? – brodie