2013-04-25 39 views
2

從閱讀的帖子在這thread - 並且是無法在那裏發佈問題的一些奇怪的原因:(我會在這裏問它得到一個解決方案劍道UI - 如何配合驗證,MVC模型屬性

的希望

我是在說我要做像下面的驗證寫..

  1. 我添加HTML5屬性(數據所需的-MSG/validationMessage)到文本框和所需的屬性以及..
  2. 我爲無效的消息制定一個範圍,並將其與「data-for」屬性綁定到該字段輕鬆輸入名稱「就應該出現在這個範圍內。

問題

  1. 這是這項工作的唯一途徑?
  2. 有沒有辦法讓我顯示正確的錯誤信息(「我想要顯示的錯誤信息」),就像以任何方式綁定ViewModel上的mvc屬性一樣。另一個海報稱,這是一個更多的可擴展性/可重用性和更好的設計。

使用data-for =「Name」非常脆弱,因爲Model字段名稱中的更改不會反映在那裏,因此可能會遺忘關於提供錯誤診斷軟件的信息。您正在失去的東西類型安全就像

@Html.ValidationMessageFor(m=> m.Name) 

代碼

public class AViewModel 
{ 
     [Required(ErrorMessage="Error Message I want to show")] 
     public string Name { get; set; } 
} 

<div class="validation-wrapper"> 
       <div class="input-wrapper"> 
        @Html.TextBoxFor(m => m.Name, new { placeholder = "eg. John Smith", data_required_msg="PleaseEnter name", required="required" })       
       </div> 
       <span class="k-invalid-msg" data-for="Name"></span> 
      </div> 

乾杯, Ĵ

+0

這是在telerik論壇上討論的:[使用Kendo驗證器和MVC模型屬性](http://www.telerik.com/forums/using-kendo-validator-with-mvc-model-properties) – 2014-02-18 14:35:34

回答

3

爲了能夠做到你說的話,你需要在ASP.NET MVC中使用Kendo UI。通過這一點,您可以像以前一樣繼續使用DataAnnotations屬性和Html.ValidationMessageFor()助手。您需要做的只是在表單(或document.ready())之後調用$('[your_form_selector]').kendoValidator()