【发布时间】:2018-06-29 02:17:32
【问题描述】:
我目前正在实习,对 Razor 和 C# MVC 完全陌生。我目前正在构建一个简单的 Razor 表单,但我的验证让我对复选框感到悲痛。
这是我的型号代码:
[DisplayName("Sign me up for spam* ")]
[Range(typeof(bool), "true", "true", ErrorMessage = "You must sign up for spam.")]
public bool Check { get; set; }
这是我的 Razor 标记:
@Html.LabelFor(model => model.Check, new { @class = "" })
@Html.CheckBoxFor(model => model.Check, new { @class = "example1"})
这是生成的 HTML:
<input class="example1" data-val="true" data-val-range="You must sign up for spam." data-val-range-max="True" data-val-range-min="True" data-val-required="The Sign me up for spam* field is required." id="Check" name="Check" type="checkbox" value="true">
<input name="Check" type="hidden" value="false">
我知道 Razor 会自动生成这两个输入。我的问题是验证根本不适用于复选框。因为它,模型状态总是无效的,并且在客户端,选中框时会出现错误消息,而取消选中框时会消失。我一直在谷歌上寻找答案,但没有找到答案,而且我的导师也不知道出了什么问题。
【问题讨论】:
-
我无法重现该问题。你能添加完整的代码吗?
-
@DaniloDebiaziVicente 我通过制作自定义验证属性为模型进行了验证,但在客户端仍然损坏。我将尝试放入您发布的 jQuery,看看会发生什么。谢谢!
标签: c# asp.net-mvc razor