【发布时间】:2014-11-25 00:05:21
【问题描述】:
我正在开发一个 ASP.NET MVC Web 应用程序。我在视图中有一个文本区域,它绑定到一个最大长度为 1000 的模型。
//Html:
@Html.TextAreaFor(model => model.Description, 12, 50, new { @class = "form-control", @placeholder = "Mandatory" })
//Model class:
[Required]
[DisplayName("Event Description")]
[MaxLength(1000, ErrorMessage = "Maximum {1} characters.")]
public string Description { get; set; }
我还使用 jQuery 为用户显示一条消息,以便他们知道还有多少字符需要输入:
$('#Description').keyup(function () {
var maxlen = 1000;
var count = $(this).val().length;
var charLeft = maxlen - count;
var string = charLeft + " chracters left"
if (count > maxlen) {
this.value = this.value.substring(0, maxlen);
}
else {
$("#descriptionCharCount").text(string);
}
});
我发现当输入新行时,ASP.NET 会插入 2 个空格,因此字符数增加 2。但 jQuery 只增加 1。这导致不匹配。我该如何解决这个问题?
【问题讨论】:
标签: jquery asp.net-mvc validation