【发布时间】:2011-01-25 23:20:43
【问题描述】:
我有一个简单的下拉列表,列表中的第一项有一个空值。如果我没有在列表中选择任何内容,客户端验证将忽略它。我使用注释属性在模型上根据需要设置了该字段。
@Html.DropDownListFor(model => Model.CCPayment.State, UnitedStatesStates.StateSelectList)
[Required(ErrorMessage = "State is Required.")]
public string State
{
get
{
return _state;
}
set
{
_state = value;
}
}
有什么想法吗?我错过了什么吗?
【问题讨论】:
-
也添加复选框,我有一个必填复选框,在未选中时未作为错误字段高亮显示。
-
不是真正的答案,更多的是一种解决方法,但您是否尝试过使用 IValidatableObject 接口 - 现在可能对您有所帮助?
-
我已经在使用 IValidatableObject 进行服务器端验证。这是一个客户端问题。我确实在 codeplex 找到了一个针对此 aspnet.codeplex.com/workitem/7629 的未解决问题
-
看来问题出在属性路径的大小上。如果我这样做
model => model.State它验证正常。但是model => model.Address.State没有。你有没有想出任何解决方法? -
请注意,在 MVC 5 中,此错误已被修复。
标签: jquery validation asp.net-mvc-3 drop-down-menu unobtrusive-validation