2009-06-02 59 views
0

我正在使用C#处理MVC。ModelState.IsValid不可见控件

我有2个单选按钮。在选择第一个单选按钮时,将显示允许输入日期值的文本框。 <%= Html.TextBox(“ReceivedDate”)%>

关于选择第二个单选按钮,文本框被隐藏。

当我第一次选择第一个单选按钮并输入日期并单击下一步导航到下一页并再次返回到此页面并单击第二个单选按钮并单击下一步继续时,我再次回到此处页面并且不更改任何选项点击继续,它不允许导航并显示错误。

 A value is required. 

这意味着模型状态验证隐藏的控制也。

请建议如何控制它,而不是隐藏它从DOM删除元素,如果第一项是再次选择重新插入的

+0

你用什么来验证你的模型和设置必填字段? – CoderDennis 2009-06-02 18:44:30

+0

我只是在发布表单时检查ModelState.IsValid。它说ModelState.IsValid是false,并返回到错误的视图。 – Prasad 2009-06-03 03:37:36

回答

0

。另一种方法是在第一个项目未被选中时,将输入控件的名称更改为其他项目(模型数据中没有的项目)。

验证隐藏的输入类型是一件好事,我经常使用它们来同步复杂控件中的数据(如带有复选框的树形视图)。具有隐藏CSS样式的输入类型不会使其不能以它所属的表单提交。