Guest User

Untitled

a guest
Aug 16th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.61 KB | None | 0 0
  1. MVC custom unobtrusive validation always showing message
  2. $.validator.addMethod('newserialandmodel',
  3. function (value, element, parameters) {
  4. var modelNumber = $('#ProductInformation_ModelNumber').val();
  5. var serialNumber = value;
  6.  
  7. var token = $('input[name=__RequestVerificationToken]').val();
  8.  
  9. $.ajax({
  10. type: "POST",
  11. url: "/ajax/getmodelandserialexists/",
  12. data: ({
  13. modelNumber: modelNumber,
  14. serialNumber: serialNumber,
  15. '__RequestVerificationToken': token
  16. }),
  17. cache: true,
  18. dataType: 'json',
  19. success: function (response) {
  20. if (response.exists) {
  21. $.validator.messages.newserialandmodel =
  22. $.format($.validator.messages.newserialandmodel);
  23. }
  24.  
  25. return !response.exists;
  26. }
  27. });
  28.  
  29. return false;
  30. }
  31. );
  32.  
  33. $.validator.unobtrusive.adapters.add(
  34. 'newserialandmodel',
  35. function (options) {
  36. options.rules['newserialandmodel'] = options.params;
  37.  
  38. if (options.message != null) {
  39. $.validator.messages.newserialandmodel = options.message;
  40. }
  41. }
  42. );
  43.  
  44. <input type="text" value=""
  45. name="ProductInformation.SerialNumber" id="ProductInformation_SerialNumber"
  46. data-val-required="The Serial number field is required."
  47. data-val-newserialandmodel="There is already a contract with the provided model and serial numbers."
  48. data-val-length-max="30"
  49. data-val-length="The 30 field requires no more than 30 characters."
  50. data-val="true" class="input-validation-error">
  51.  
  52. $.validator.addMethod('newserialandmodel',
  53. function (value, element, parameters) {
  54. var modelNumber = $('#ProductInformation_ModelNumber').val();
  55. var serialNumber = value;
  56.  
  57. var token = $('input[name=__RequestVerificationToken]').val();
  58.  
  59. var isValid = false;
  60.  
  61. $.ajax({
  62. type: "POST",
  63. url: "/ajax/getmodelandserialexists/",
  64. data: ({
  65. modelNumber: modelNumber,
  66. serialNumber: serialNumber,
  67. '__RequestVerificationToken': token }),
  68. async: false,
  69. dataType: 'json',
  70. success: function (response) {
  71. if (response.exists) {
  72. $.validator.messages.newserialandmodel =
  73. $.format($.validator.messages.newserialandmodel);
  74. }
  75.  
  76. isValid = !response.exists;
  77. }
  78. });
  79.  
  80. return isValid;
  81. }
  82. );
Add Comment
Please, Sign In to add comment