MVC3并验证Razor和jQuery插件的混合

时间:2012-07-16 11:30:30

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

我正在使用MVC3,我的视图中混合了razor和raw 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插件等添加更多复杂性/ cusomization。

有人可以建议我如何在回发到控制器时验证jQuery插件吗?

干杯

1 个答案:

答案 0 :(得分:1)

如果你正在使用不显眼的验证,那么你所要做的就是从javascript中添加必要的HTML5数据属性到输入元素,而microsoft的不显眼的javascript库将负责其余的工作。

对于前。如果您通过javascript动态地将文本框注入到表单中,并且需要执行必要的验证,那么您必须添加data-valdata-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>