【发布时间】:2010-09-06 14:31:06
【问题描述】:
这可能很简单,但一直让我发疯。我到处搜索,发现有人提到它但没有提供解决方案。
我有一个简单的视图模型,它有一个没有数据注释的布尔属性,其他属性可以,但这些不会影响问题。
Public Property AcceptSurvey As Boolean
我有一个对该模型进行强类型化的视图,该模型适用于服务器验证(即所有其他验证工作正常,AcceptSurvey 是可选的)。
<%: Html.CheckBoxFor(Function(x) x.AcceptSurvey)%>
当我启用客户端验证时,在提交表单(AcceptSurvey 未选中)时,我收到消息“AcceptSurvey 字段是必需的。”。我认为这是因为当复选框被选中时,验证只会看到一个值(true)。我意识到 CheckBoxFor 助手渲染了一个隐藏字段(同名属性和 false 值)并认为这是为了解决这个问题。
如果我将属性设为可空,我不能使用 CheckBoxFor,我可以使用 EditorFor,但这会呈现为具有三个属性(不是我想要的)的下拉列表,并且客户端验证工作正常。
我是不是很傻?顺便说一句,我在客户端使用 MVC JQuery。
【问题讨论】:
标签: jquery validation asp.net-mvc-2 checkbox