【问题标题】:Kendo ui - how to tie validation to mvc model attributesKendo ui - 如何将验证与 mvc 模型属性联系起来
【发布时间】:2013-04-19 03:16:10
【问题描述】:

通过阅读thread 中的帖子 - 并且由于某些奇怪的原因无法在那里发布问题:( 我会在这里问它以希望得到解决方案

我是不是说我必须像下面那样进行验证..

  1. 我将 html5 属性 (data-required-msg/validationMessage) 添加到文本框和所需属性..
  2. 我为无效的 msg 创建了一个跨度,并将其与具有“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>

干杯, J

【问题讨论】:

标签: asp.net-mvc-4 telerik kendo-ui kendo-asp.net-mvc


【解决方案1】:

为了能够执行您所说的操作,您需要使用 Kendo UI for ASP.NET MVC。有了它,您可以像以前一样继续使用您的 DataAnnotations 属性和 Html.ValidationMessageFor() 助手。您需要做的就是在您的表单之后(或在 document.ready() 上)致电 $('[your_form_selector]').kendoValidator()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-02
    • 2019-11-24
    • 1970-01-01
    • 1970-01-01
    • 2019-11-12
    • 1970-01-01
    • 2021-11-06
    • 2019-09-02
    相关资源
    最近更新 更多