【问题标题】:MVC3 and validating a mixture of Razor and jQuery pluginsMVC3 和验证 Razor 和 jQuery 插件的混合
【发布时间】:2012-07-16 11:30:30
【问题描述】:

我正在使用 MVC3,我的视图中混合了 razor 和原始 html,例如

<div class="editor-field">
     @Html.EditorFor(model => model.PAGE)
     @Html.ValidationMessageFor(model => model.PAGE)
</div>


<div class="editor-label">
     @Html.LabelFor(model => model.PERIODICAL)
</div>
     div class="editor-field">
     <div class="editor-field">
          <input type="text" id="periodicallist" name="tiperiodical" />
     </div>
</div>

我的 JavaScript 将 tokenInput 控件插件应用于文本框并且一切正常,但我想知道如何验证它(即对于空文本框/tokenInput),它需要填充至少 1 个令牌。目前,创建视图的这两种形式令人困惑,让 Razor 直接从模型构造元素,然后通过使用 jQuery 插件等添加更多复杂性/自定义。

谁能告诉我如何在回发到控制器时验证 jQuery 插件?

干杯

【问题讨论】:

    标签: asp.net-mvc-3 jquery-tokeninput


    【解决方案1】:

    如果您使用不显眼的验证,那么您所要做的就是将必要的 HTML5 数据属性添加到来自 javascript 的输入元素,然后微软的不显眼的 javascript 库将负责其余的工作。

    例如。如果您通过 javascript 将文本框动态注入到表单中,并且您需要执行所需的验证,那么您只需添加 data-val 和 data-val-required 属性,如下所示。

    <input data-val="true" 
           data-val-required="No. of joinees is required" 
           name="NoOfJoinees" 
           type="text"  />
    

    编辑:

    要显示验证错误消息,您必须在字段附近注入 span,

    <span class="field-validation-valid" 
          data-valmsg-for="NoOfJoinees" 
          data-valmsg-replace="true">
    </span>
    

    【讨论】:

    • 嘿,感谢您的回复,马克,刚刚完成了您所说的 - 但它有点工作 - 表格将停止发布,但您没有收到任何好的错误消息,例如其他 MVC 框架“开箱即用”的错误消息。我可能在这里遗漏了什么?
    • 太棒了!现在有点明显了。非常感谢您的帮助。 :)
    猜你喜欢
    • 2011-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-08
    • 1970-01-01
    相关资源
    最近更新 更多