我的模型有一个必需的字符串,我可以提交表单并仍将文本框留空,并且模型状态返回为有效,因此我不知道什么是我做错了。这是我的网页上唯一一个正在执行此操作的控件。这里是我的代码:MVC中的必需值是空字符串,但modelstate仍然有效
型号
[Required(ErrorMessage = "Requirements are Required.")]
[DataType(DataType.MultilineText, ErrorMessage = "Requirements is Required.")]
[StringLength(200, ErrorMessage = "200 Characters is the maximum allowed for requirements.")]
public string Requirements { get; set; }
查看
<div class="form-group">
@Html.LabelFor(model => model.Requirements, "Requirements:", htmlAttributes: new { @class = "col-sm-4 control-label" })
<div class="col-sm-8">
@Html.TextAreaFor(model => model.Requirements, htmlAttributes: new { @rows = "10", @cols = "50", @class = "form-control" })
@Html.ValidationMessageFor(model => model.Requirements)
</div>
您是否已经完成了一项测试,以查看是否有其他属性可能存在干扰? (即只有'[Required]'属性) – Jaans 2014-12-13 08:47:46
还没有。我现在会尝试 – user3610374 2014-12-13 08:48:36
我无法重现这一点。将显示验证消息,并且不会提交表单。 – 2014-12-13 08:55:47