2013-04-23 68 views
2

我有一個@Html.EditorFor控制在MVC 4中,字符串長度驗證我已經使用[StringLength(10)]模型上的屬性初始化,上述控制的頂部屬性不工作。它所做的是每當用戶輸入多於10個字符時,它會提示消息不能超過定義的限制。StringLength按預期在MVC4.0

但是,這並不禁止用戶輸入超過規定上限。可以在MVC中使用DataAnnotations來完成嗎?

注:我不想在這裏使用任何onkeypress事件的事件。

回答

1

似乎是使用TextBoxfor反而是最簡單的方法:

@Html.TextBoxFor(model => model.MyField, new {maxlength = 10}) 

this question

0

你需要寫驗證碼@ Html.ValidationMessageFor相關視圖(像edit.cshtml):

 <div class="editor-field"> 
      @Html.EditorFor(model => model.str) 
      @Html.ValidationMessageFor(model => model.str) 
     </div> 

因此,它會自動尋找你驗證特性並在視圖中顯示一些錯誤信息頁。 你可以查看這篇文章:Adding validation to the model

1

你可以給你編輯@ maxlength = 10爲 例如,

@Html.EditorFor(model => model.str, new { @maxlength=10 }) 

這樣可以限制用戶的形式將超過10個字符。

我希望這會幫助你。