To analyze the validation attributes of a form after you return it to the page, you need to execute it: $.validator.unobtrusive.parse('#yourFormSelector')
In my application, I put this call into the ajaxComplete handler, so I no longer need to worry about that. I rewrite each form on the page, and it works fine during the production process for quite some time (even if there are several hundred forms on the page).
$(document).ajaxComplete(function() { $.validator.unobtrusive.parse('form'); });
source share