验证当我使用<script type =“text / template”>和Jquery </script>时的消息

时间:2014-10-27 06:12:40

标签: jquery html5 razor asp.net-mvc-5

我正在使用此代码将行模板从Jquery添加到我的表中 我可以毫无问题地添加它,否则验证消息会显示

    <script type="text/template" id="template">
        <td>
            @Html.EditorFor(model => item.Quantity, new { htmlAttributes = new { @class = "Q form-control"} })
            @Html.ValidationMessageFor(model => item.Quantity)
        </td>
        <td>
            @Html.EditorFor(model => item.SingleCost, new { htmlAttributes = new { @class = "S form-control"} })
            @Html.ValidationMessageFor(model => item.SingleCost)
        </td>
</script>

在我的Java脚本中我使用了这个

function Addrow(){
    var newClass = "newrow"+x;
    var tablerow = '<tr class="Calculated ' + newClass + '">';
    tablerow += $('#template').html();
    tablerow += '</tr>';

    $('#tb').append(tablerow);}

我得到了像这样的输出

    <input class="S form-control text-box single-line valid" data-val="true"
    data-val-number="The field single_cost must be a number." data-val-required="thisFieldIsReq"      id="item_SingleCost" name="item.SingleCost"  value="0.00" type="text">
    <span class="field-validation-valid" data-valmsg-for="item.SingleCost" data-valmsg-replace="true"></span>

我提交表单时未显示验证消息

注意: 当我在没有模板的情况下使用此代码并且直接使用没有Javascript功能时,一切正常并且验证消息显示

谢谢你:)

1 个答案:

答案 0 :(得分:0)

在@stephenMuecke提交之后

当我像下面一样添加它时,一切都很好

添加

的解决方案
$('form').data('validator', null);
$.validator.unobtrusive.parse($('form'));