【问题标题】:Using MVC3 and JQuery to dynamically and mantain the DataAnnotations使用 MVC 3 和 JQuery 动态维护和维护 DataAnnotations
【发布时间】:2016-06-22 17:17:00
【问题描述】:

我有一个类似这样的问题:Using MVC and JQuery to dynamically & consistently add values to a table,但不同的是:

我有表格,我正在克隆最后一行(以保持相同的格式):

var $tableBody = $('#record').find("tbody");
$trLast = $tableBody.find("tr:last");
$trNew = $trLast.clone();
$trLast.after($trNew);

`

行已成功创建,但验证绑定到第一行(inputsselectstextarea

检查元素,显示:

<td>
// Code generated with the jquery .clone()
    <input data-val="true" data-val-required="Es necesario agregar una fecha." id="Salidas_0__Fecha" name="Salidas[1].Fecha" type="datetime" value="" autocomplete="off" class="hasDatepicker input-validation-error">
    <span class="field-validation-valid" data-valmsg-for="Salidas[1].Fecha" data-valmsg-replace="true"></span>
</td>

但是field-validation-valid 没有绑定到input。 有没有办法做到这一点?

【问题讨论】:

  • field-validation-valid 没有绑定到input”是什么意思?看起来它只是将class 添加到span

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


【解决方案1】:

首先,当你玩动态内容时,你必须在克隆行后将 JQuery Validation 添加到新内容中:

$.validator.unobtrusive.parse($("form"));

其次,属性“data-valmsg-for”,在具有“field-validation-valid”类的跨度上,必须与表格每一行中相应输入的属性“name”相同。

因此,例如,三行表必须如下所示:

<td>
    <input data-val="true" data-val-required="Es necesario agregar una fecha." id="Salidas_0__Fecha" name="Salidas[0].Fecha" type="datetime" value="" autocomplete="off" class="hasDatepicker input-validation-error">
    <span class="field-validation-valid" data-valmsg-for="Salidas[0].Fecha" data-valmsg-replace="true"></span>
</td>
<td>
    <input data-val="true" data-val-required="Es necesario agregar una fecha." id="Salidas_1__Fecha" name="Salidas[1].Fecha" type="datetime" value="" autocomplete="off" class="hasDatepicker input-validation-error">
    <span class="field-validation-valid" data-valmsg-for="Salidas[1].Fecha" data-valmsg-replace="true"></span>
</td>
<td>
    <input data-val="true" data-val-required="Es necesario agregar una fecha." id="Salidas_2__Fecha" name="Salidas[2].Fecha" type="datetime" value="" autocomplete="off" class="hasDatepicker input-validation-error">
    <span class="field-validation-valid" data-valmsg-for="Salidas[2].Fecha" data-valmsg-replace="true"></span>
</td>

发布表单时,正确的模型绑定也需要最后一个。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-15
    • 2020-07-29
    • 1970-01-01
    • 1970-01-01
    • 2016-12-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多