【发布时间】:2015-01-12 12:31:19
【问题描述】:
我尝试使用 ASP MVC 4 客户端验证在特定字段上设置字符限制。不幸的是,该字段可以通过下拉列表自动填充,并且由于值由我们的员工维护,有时输入的值大于 12 个字符或空格过多。
客户端验证似乎可以很好地捕获该字段(以红色突出显示并且不允许表单发布),但我不会显示该消息。我们还有其他相同形式的字段,所以我不确定发生了什么。显然我们的 jQuery 脚本和@Html.ValidationSummary(true) 命令设置正确
型号
[MaxLength(12, ErrorMessage = "Maximum 12 characters")]
public string DRMCompanyId { get; set; }
查看
<div class="M-editor-label">
@Html.LabelFor(model => model.DRMCompanyId, new {@class="required"})
</div>
<div class="M-editor-field">
@Html.TextBoxFor(model => model.DRMCompanyId, new { maxLength = 10 })
@Html.ValidationMessageFor(model => model.DRMCompanyId)
</div>
以下验证工作仅供参考。该字段的格式相同:
型号
[DisplayName("Effective Date")]
[Column(TypeName = "DateTime")]
[DisplayFormat(DataFormatString = "{0:d}", ApplyFormatInEditMode = true)]
public DateTime? EffectiveDate { get; set; }
查看
<div class="M-editor-field">
@Html.TextBoxFor(model => model.EffectiveDate, new { maxlength = 10 })
@Html.ValidationMessageFor(model => model.EffectiveDate)
</div>
【问题讨论】:
-
MaxLength和MinLength自 MVC 5.1 What's New in ASP.NET MVC 5.1 起才支持非侵入式验证。 -
请查看我的回答
标签: jquery asp.net-mvc asp.net-mvc-4 validation