Letlabo Nature Reserve
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

validate.js 2.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. /*global jQuery:false */
  2. jQuery(document).ready(function($) {
  3. "use strict";
  4. //Contact
  5. $('form.validateform').submit(function(){
  6. var f = $(this).find('.field'),
  7. ferror = false,
  8. emailExp = /^[^\s()<>@,;:\/]+@\w[\w\.-]+\.[a-z]{2,}$/i;
  9. f.children('input').each(function(){ // run all inputs
  10. var i = $(this); // current input
  11. var rule = i.attr('data-rule');
  12. if( rule != undefined ){
  13. var ierror=false; // error flag for current input
  14. var pos = rule.indexOf( ':', 0 );
  15. if( pos >= 0 ){
  16. var exp = rule.substr( pos+1, rule.length );
  17. rule = rule.substr(0, pos);
  18. }else{
  19. rule = rule.substr( pos+1, rule.length );
  20. }
  21. switch( rule ){
  22. case 'required':
  23. if( i.val()=='' ){ ferror=ierror=true; }
  24. break;
  25. case 'maxlen':
  26. if( i.val().length<parseInt(exp) ){ ferror=ierror=true; }
  27. break;
  28. case 'email':
  29. if( !emailExp.test(i.val()) ){ ferror=ierror=true; }
  30. break;
  31. case 'checked':
  32. if( !i.attr('checked') ){ ferror=ierror=true; }
  33. break;
  34. case 'regexp':
  35. exp = new RegExp(exp);
  36. if( !exp.test(i.val()) ){ ferror=ierror=true; }
  37. break;
  38. }
  39. i.next('.validation').html( ( ierror ? (i.attr('data-msg') != undefined ? i.attr('data-msg') : 'wrong Input') : '' ) ).show('blind');
  40. }
  41. });
  42. f.children('textarea').each(function(){ // run all inputs
  43. var i = $(this); // current input
  44. var rule = i.attr('data-rule');
  45. if( rule != undefined ){
  46. var ierror=false; // error flag for current input
  47. var pos = rule.indexOf( ':', 0 );
  48. if( pos >= 0 ){
  49. var exp = rule.substr( pos+1, rule.length );
  50. rule = rule.substr(0, pos);
  51. }else{
  52. rule = rule.substr( pos+1, rule.length );
  53. }
  54. switch( rule ){
  55. case 'required':
  56. if( i.val()=='' ){ ferror=ierror=true; }
  57. break;
  58. case 'maxlen':
  59. if( i.val().length<parseInt(exp) ){ ferror=ierror=true; }
  60. break;
  61. }
  62. i.next('.validation').html( ( ierror ? (i.attr('data-msg') != undefined ? i.attr('data-msg') : 'wrong Input') : '' ) ).show('blind');
  63. }
  64. });
  65. if( ferror ) return false;
  66. else var str = $(this).serialize();
  67. $.ajax({
  68. type: "POST",
  69. url: "contact/contact.php",
  70. data: str,
  71. success: function(msg){
  72. $("#sendmessage").addClass("show");
  73. $("#errormessage").ajaxComplete(function(event, request, settings){
  74. if(msg == 'OK')
  75. {
  76. $("#sendmessage").addClass("show");
  77. }
  78. else
  79. {
  80. $("#sendmessage").removeClass("show");
  81. result = msg;
  82. }
  83. $(this).html(result);});}});
  84. return false;
  85. });
  86. });