messages.js 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. QUnit.module( "messages" );
  2. QUnit.test( "predefined message not overwritten by addMethod( a, b, undefined )", function( assert ) {
  3. var message = "my custom message";
  4. $.validator.messages.custom = message;
  5. $.validator.addMethod( "custom", function() {} );
  6. assert.deepEqual( $.validator.messages.custom, message );
  7. delete $.validator.messages.custom;
  8. delete $.validator.methods.custom;
  9. } );
  10. QUnit.test( "group error messages", function( assert ) {
  11. $.validator.addClassRules( {
  12. requiredDateRange: { required: true, date: true, dateRange: true }
  13. } );
  14. $.validator.addMethod( "dateRange", function() {
  15. return new Date( $( "#fromDate" ).val() ) < new Date( $( "#toDate" ).val() );
  16. }, "Please specify a correct date range." );
  17. var form = $( "#dateRangeForm" );
  18. form.validate( {
  19. errorElement: "span",
  20. groups: {
  21. dateRange: "fromDate toDate"
  22. },
  23. errorPlacement: function( error ) {
  24. form.find( ".errorContainer" ).append( error );
  25. }
  26. } );
  27. assert.ok( !form.valid() );
  28. assert.equal( form.find( ".errorContainer *" ).length, 1 );
  29. assert.equal( form.find( ".errorContainer .error:not(input)" ).text(), "Please enter a valid date." );
  30. $( "#fromDate" ).val( "12/03/2006" );
  31. $( "#toDate" ).val( "12/01/2006" );
  32. assert.ok( !form.valid() );
  33. assert.equal( form.find( ".errorContainer .error:not(input)" ).text(), "Please specify a correct date range." );
  34. $( "#toDate" ).val( "12/04/2006" );
  35. assert.ok( form.valid() );
  36. assert.ok( form.find( ".errorContainer .error:not(input)" ).is( ":hidden" ) );
  37. } );
  38. QUnit.test( "read messages from metadata", function( assert ) {
  39. var form = $( "#testForm9" ),
  40. e, g;
  41. form.validate();
  42. e = $( "#testEmail9" );
  43. e.valid();
  44. assert.equal( form.find( "#testEmail9" ).next( ".error:not(input)" ).text(), "required" );
  45. e.val( "bla" ).valid();
  46. assert.equal( form.find( "#testEmail9" ).next( ".error:not(input)" ).text(), "email" );
  47. g = $( "#testGeneric9" );
  48. g.valid();
  49. assert.equal( form.find( "#testGeneric9" ).next( ".error:not(input)" ).text(), "generic" );
  50. g.val( "bla" ).valid();
  51. assert.equal( form.find( "#testGeneric9" ).next( ".error:not(input)" ).text(), "email" );
  52. } );
  53. QUnit.test( "read messages from metadata, with meta option specified, but no metadata in there", function( assert ) {
  54. var form = $( "#testForm1clean" );
  55. form.validate( {
  56. meta: "validate",
  57. rules: {
  58. firstnamec: "required"
  59. }
  60. } );
  61. assert.ok( !form.valid(), "not valid" );
  62. } );