2013-04-25 69 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()