MVC 中的必需值为空字符串,但模型状态仍然有效
本文关键字:模型 状态 有效 字符串 MVC | 更新日期: 2023-09-27 18:34:10
我的模型有一个必需的字符串,我可以提交表单,但仍然将文本框留空,并且模型状态被返回为有效,所以我不知道我做错了什么。这是我页面上唯一执行此操作的控件。这是我的代码:
型
[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>
编辑:
正如 @Stephen Muecke 指出的那样,我也无法重现您的案例,它应该足够 必需属性.我在下面的答案不知何故 解决方法 正如@MajkeloDev所说。
您应该为字段输入MinimumLength = 10
。 数字 200
表示字符串的最大长度
[StringLength(200, MinimumLength = 10, ErrorMessage = "200 Characters is the maximum allowed for requirements.")]
注意:M inimumLength = 10
是有意义的输入的某个数字。对于非空字符串,就足够MinimumLength = 1