阅读此 thread 中的帖子- 由于某些奇怪的原因无法在那里发布问题:(我会在这里问它希望得到解决方案
我写的是不是说我必须像下面这样进行验证..
- 我将 html5 属性 (data-required-msg/validationMessage) 添加到文本框和 required 属性中。
- 我为无效消息创建了一个跨度,并将其与具有“data-for”属性的字段绑定(bind)在一起。然后消息“请输入姓名”应该出现在该范围内。
问题
- 这是处理此问题的唯一方法吗?
- 我没有办法显示正确的错误消息(“我想显示的错误消息”),就像以任何方式绑定(bind)到 ViewModel 上的 mvc 属性一样。正如另一位发帖者所说,这是更具可扩展性/可重用性和更好的设计。
使用 data-for="Name"非常脆弱,因为模型字段名称的更改不会反射(reflect)在那里,并且可能会被忘记,从而交付有缺陷的软件。您正在失去类似
的类型安全性@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
最佳答案
为了能够执行您所说的操作,您需要使用适用于 ASP.NET MVC 的 Kendo UI。这样您就可以像以前一样继续使用 DataAnnotations 属性和 Html.ValidationMessageFor() 帮助程序。您需要做的就是在表单之后(或在 document.ready() 上)调用 $('[your_form_selector]').kendoValidator()
。
关于asp.net-mvc-4 - Kendo ui - 如何将验证与 mvc 模型属性联系起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16211169/