Javascript 动态内容加载时不触发jQuery非侵入性验证

Javascript 动态内容加载时不触发jQuery非侵入性验证,javascript,jquery,ajax,validation,unobtrusive-validation,Javascript,Jquery,Ajax,Validation,Unobtrusive Validation,我试图解析一个动态插入的表单,以添加jQuery的非干扰性验证 我有以下AJAX功能,当用户搜索时执行: function search(el) { var $this = $(el); var $form = $this.closest("form"); var url = $form.attr("action"); $results = $("#pnlSearchResults"); $.ajax({ type: "POST",

我试图解析一个动态插入的表单,以添加jQuery的非干扰性验证

我有以下AJAX功能,当用户搜索时执行:

function search(el)
{
    var $this = $(el);
    var $form = $this.closest("form");
    var url = $form.attr("action");
    $results = $("#pnlSearchResults");

    $.ajax({
        type: "POST",
        url: url,
        data: $form.serialize()
    })
    .done(function(data){
        $results.html('');
        $results.html(data);

        var $editForm = $results.find("form.edit-form");
        $editForm.removeData("validator");
        $editForm.removeData("unobtrusiveValidation");
        $.validator.unobtrusive.parse($editForm);
    });
}
这会将返回实体的可编辑表单插入页面上的
,如下所示。我有两个必填字段,但当我从这些字段中删除值时,“必填”验证不会触发。似乎只有在以下情况下才会发生:

  • 我删除这些值
  • 将光标从字段中移开
  • 输入一个新值
  • 把光标拿走
  • 然后删除新值
  • 如何解决这个问题,以便在我第一次删除该值时进行验证?

    我找到了答案,这让我找到了关于的答案

    用法:

    var html = "<input data-val='true' "+
               "data-val-required='This field is required' " +
               "name='inputFieldName' id='inputFieldId' type='text'/>";
    $("form").append(html);
    
    $.validator.unobtrusive.parseDynamicContent('form input:last');
    
    var html=”“;
    $(“表格”)。附加(html);
    $.validator.unobtrusive.parseDynamicContent('forminput:last');
    
    var html = "<input data-val='true' "+
               "data-val-required='This field is required' " +
               "name='inputFieldName' id='inputFieldId' type='text'/>";
    $("form").append(html);
    
    $.validator.unobtrusive.parseDynamicContent('form input:last');