【发布时间】:2013-04-19 03:16:10
【问题描述】:
通过阅读thread 中的帖子 - 并且由于某些奇怪的原因无法在那里发布问题:( 我会在这里问它以希望得到解决方案
我是不是说我必须像下面那样进行验证..
- 我将 html5 属性 (data-required-msg/validationMessage) 添加到文本框和所需属性..
- 我为无效的 msg 创建了一个跨度,并将其与具有“data-for”属性的字段相关联。然后,“请输入姓名”消息应出现在此跨度中。
问题
- 这是处理此问题的唯一方法吗?
- 我是否无法显示正确的错误消息(“我想显示的错误消息”),以任何方式与 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>
干杯, J
【问题讨论】:
-
这在 Telerik 论坛上有讨论:Using Kendo Validator with MVC Model Properties
标签: asp.net-mvc-4 telerik kendo-ui kendo-asp.net-mvc