我正在使用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插件吗?
干杯
答案 0 :(得分:1)
如果你正在使用不显眼的验证,那么你所要做的就是从javascript中添加必要的HTML5数据属性到输入元素,而microsoft的不显眼的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>