verbose.js 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. describe('verbose option', function() {
  2. beforeEach(function() {
  3. $([
  4. '<form class="form-horizontal" id="verboseForm">',
  5. '<div class="form-group">',
  6. '<input type="text" name="fullName" class="form-control" ',
  7. 'required data-bv-notempty-message="The full name is required and cannot be empty" ',
  8. 'data-bv-regexp="true" data-bv-regexp-regexp="^[a-zA-Z\\s]+$" data-bv-regexp-message="The full name can only consist of alphabetical, number, and space" ',
  9. 'data-bv-stringlength="true" data-bv-stringlength-min="8" data-bv-stringlength-max="40" data-bv-stringlength-message="The full name must be more than 8 and less than 40 characters long" ',
  10. '/>',
  11. '</div>',
  12. '</form>'
  13. ].join('\n')).appendTo('body');
  14. // The order of validators are alphabetical:
  15. // - notEmpty
  16. // - regexp
  17. // - stringLength
  18. });
  19. afterEach(function() {
  20. $('#verboseForm').bootstrapValidator('destroy').remove();
  21. });
  22. it('set data-bv-verbose="false" for form', function() {
  23. var bv = $('#verboseForm').attr('data-bv-verbose', 'false').bootstrapValidator().data('bootstrapValidator'),
  24. $fullName = bv.getFieldElements('fullName'),
  25. messages;
  26. $fullName.val('');
  27. bv.validate();
  28. messages = bv.getMessages('fullName');
  29. expect(messages.length).toEqual(1);
  30. expect(messages[0]).toEqual($fullName.attr('data-bv-notempty-message'));
  31. bv.resetForm();
  32. $fullName.val('Special@#$');
  33. bv.validate();
  34. messages = bv.getMessages('fullName');
  35. expect(messages.length).toEqual(1);
  36. expect(messages[0]).toEqual($fullName.attr('data-bv-regexp-message'));
  37. bv.resetForm();
  38. $fullName.val('Full');
  39. bv.validate();
  40. messages = bv.getMessages('fullName');
  41. expect(messages.length).toEqual(1);
  42. expect(messages[0]).toEqual($fullName.attr('data-bv-stringlength-message'));
  43. });
  44. it('set data-bv-verbose="false" for field', function() {
  45. var bv = $('#verboseForm')
  46. .attr('data-bv-verbose', 'true')
  47. .find('[name="fullName"]')
  48. .attr('data-bv-verbose', 'false')
  49. .end()
  50. .bootstrapValidator().data('bootstrapValidator'),
  51. $fullName = bv.getFieldElements('fullName'),
  52. messages;
  53. $fullName.val('');
  54. bv.validate();
  55. messages = bv.getMessages('fullName');
  56. expect(messages.length).toEqual(1);
  57. expect(messages[0]).toEqual($fullName.attr('data-bv-notempty-message'));
  58. bv.resetForm();
  59. $fullName.val('Special@#$');
  60. bv.validate();
  61. messages = bv.getMessages('fullName');
  62. expect(messages.length).toEqual(1);
  63. expect(messages[0]).toEqual($fullName.attr('data-bv-regexp-message'));
  64. bv.resetForm();
  65. $fullName.val('Full');
  66. bv.validate();
  67. messages = bv.getMessages('fullName');
  68. expect(messages.length).toEqual(1);
  69. expect(messages[0]).toEqual($fullName.attr('data-bv-stringlength-message'));
  70. });
  71. it('set verbose: "false" for form', function() {
  72. var bv = $('#verboseForm').bootstrapValidator({ verbose: false }).data('bootstrapValidator'),
  73. $fullName = bv.getFieldElements('fullName'),
  74. messages;
  75. $fullName.val('');
  76. bv.validate();
  77. messages = bv.getMessages('fullName');
  78. expect(messages.length).toEqual(1);
  79. expect(messages[0]).toEqual($fullName.attr('data-bv-notempty-message'));
  80. bv.resetForm();
  81. $fullName.val('Special@#$');
  82. bv.validate();
  83. messages = bv.getMessages('fullName');
  84. expect(messages.length).toEqual(1);
  85. expect(messages[0]).toEqual($fullName.attr('data-bv-regexp-message'));
  86. bv.resetForm();
  87. $fullName.val('Full');
  88. bv.validate();
  89. messages = bv.getMessages('fullName');
  90. expect(messages.length).toEqual(1);
  91. expect(messages[0]).toEqual($fullName.attr('data-bv-stringlength-message'));
  92. });
  93. it('set verbose: "false" for field', function() {
  94. var bv = $('#verboseForm')
  95. .attr('data-bv-verbose', 'true')
  96. .bootstrapValidator({
  97. verbose: true,
  98. fields: {
  99. fullName: {
  100. verbose: false
  101. }
  102. }
  103. })
  104. .data('bootstrapValidator'),
  105. $fullName = bv.getFieldElements('fullName'),
  106. messages;
  107. $fullName.val('');
  108. bv.validate();
  109. messages = bv.getMessages('fullName');
  110. expect(messages.length).toEqual(1);
  111. expect(messages[0]).toEqual($fullName.attr('data-bv-notempty-message'));
  112. bv.resetForm();
  113. $fullName.val('Special@#$');
  114. bv.validate();
  115. messages = bv.getMessages('fullName');
  116. expect(messages.length).toEqual(1);
  117. expect(messages[0]).toEqual($fullName.attr('data-bv-regexp-message'));
  118. bv.resetForm();
  119. $fullName.val('Full');
  120. bv.validate();
  121. messages = bv.getMessages('fullName');
  122. expect(messages.length).toEqual(1);
  123. expect(messages[0]).toEqual($fullName.attr('data-bv-stringlength-message'));
  124. });
  125. });