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(…)属性,要么在一个自定义的验证方法。

发生了什么,我如何更改验证摘要消息?

尝试将整型设置为空

public int? FishId { get; set; } 

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

不确定是否要禁用验证或更改错误消息。如果是后者,那么您应该尝试将以下内容添加到您的模型中。

[Required(ErrorMessage="Gotta select a fish, man")]
public int FishId {get;set;}

创建实例并传递给打开结果....

示例:return View("Add", new Customer());

这将用默认值初始化所有值类型

相关内容

  • 没有找到相关文章

最新更新