Advertisement
Guest User

Untitled

a guest
Dec 8th, 2016
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.00 KB | None | 0 0
  1. /// <reference path="jquery-1.4.4.js" />
  2. /// <reference path="jquery.validate.js" />
  3. /// <reference path="jquery.validate.unobtrusive.js" />
  4.  
  5. (function ($) {
  6. $.validator.unobtrusive.parseDynamicContent = function (selector) {
  7. //use the normal unobstrusive.parse method
  8. $.validator.unobtrusive.parse(selector);
  9.  
  10. //get the relevant form
  11. var form = $(selector).first().closest('form');
  12.  
  13. //get the collections of unobstrusive validators, and jquery validators
  14. //and compare the two
  15. var unobtrusiveValidation = form.data('unobtrusiveValidation');
  16. var validator = form.validate();
  17.  
  18. $.each(unobtrusiveValidation.options.rules, function (elname, elrules) {
  19. if (validator.settings.rules[elname] == undefined) {
  20. var args = {};
  21. $.extend(args, elrules);
  22. args.messages = unobtrusiveValidation.options.messages[elname];
  23. $('[name="' + elname + '"]').rules("add", args);
  24. } else {
  25. $.each(elrules, function (rulename, data) {
  26. if (validator.settings.rules[elname][rulename] == undefined) {
  27. var args = {};
  28. args[rulename] = data;
  29. args.messages = unobtrusiveValidation.options.messages[elname][rulename];
  30. $('[name="' + elname + '"]').rules("add", args);
  31. }
  32. });
  33. }
  34. });
  35. }
  36. })($);
  37.  
  38. var html = "<input data-val='true' "+
  39. "data-val-required='This field is required' " +
  40. "name='inputFieldName' id='inputFieldId' type='text'/>;
  41. $("form").append(html);
  42.  
  43. $.validator.unobtrusive.parseDynamicContent('form input:last');
  44.  
  45. (function ($) {
  46. $.validator.unobtrusive.parseDynamicContent = function (selector) {
  47. //use the normal unobstrusive.parse method
  48. //$.validator.unobtrusive.parse(selector); changed this line with
  49. $(selector).find('*[data-val = true]').each(function(){
  50.  
  51. $.validator.unobtrusive.parseElement(this,false);
  52. });
  53.  
  54. //get the relevant form
  55. var form = $(selector).first().closest('form');
  56.  
  57. //get the collections of unobstrusive validators, and jquery validators
  58. //and compare the two
  59. var unobtrusiveValidation = form.data('unobtrusiveValidation');
  60. var validator = form.validate();
  61.  
  62. $.each(unobtrusiveValidation.options.rules, function (elname, elrules) {
  63. if (validator.settings.rules[elname] == undefined) {
  64. var args = {};
  65. $.extend(args, elrules);
  66. args.messages = unobtrusiveValidation.options.messages[elname];
  67. $('[name=' + elname + ']').rules("add", args);
  68. } else {
  69. $.each(elrules, function (rulename, data) {
  70. if (validator.settings.rules[elname][rulename] == undefined) {
  71. var args = {};
  72. args[rulename] = data;
  73. args.messages = unobtrusiveValidation.options.messages[elname][rulename];
  74. $('[name=' + elname + ']').rules("add", args);
  75. }
  76. });
  77. }
  78. });
  79. }
  80. })($);
  81.  
  82. if (!skipAttach) {
  83. valInfo.attachValidation();
  84. }
  85.  
  86. $.validator.unobtrusive.parse(selector)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement