Guest User

Untitled

a guest
Jan 17th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.96 KB | None | 0 0
  1. <html>
  2. <head>
  3. <link rel="stylesheet" type="text/css" href="jquery-ui.css" />
  4. <script type="text/javascript" src="jquery-1.4.4.js"></script>
  5. <script type="text/javascript" src="jquery.validate.js"></script>
  6. <script type="text/javascript" src="jquery.validate.unobtrusive.js"></script>
  7. <script type="text/javascript" src="jquery-ui.js"></script>
  8. <script type="text/javascript">
  9. $(document).ready(function () {
  10. $('.date').datepicker({ dateFormat: 'dd/mm/yy' });
  11. $.validator.addMethod("dateRule", function(value, element) {
  12. return true;
  13. },
  14. "Error message");
  15. });
  16. </script>
  17. </head>
  18. <body>
  19. <form>
  20. Date: <input type="text" name="myDate" class="date dateRule" />
  21. <input type="submit" />
  22. </form>
  23. </body>
  24. </html>
  25.  
  26. jQuery.validator.methods["date"] = function (value, element) { return true; }
  27.  
  28. $.validator.methods.date = function (value, element) {
  29. return this.optional(element) || Globalize.parseDate(value, "d/M/y", "en");
  30. }
  31.  
  32. jQuery.validator.methods.date = function(value, element) {
  33. var dateRegex = /^(0?[1-9]/|[12]d/|3[01]/){2}(19|20)dd$/;
  34. return this.optional(element) || dateRegex.test(value);
  35. };
  36.  
  37. jQuery.validator.addMethod(
  38. "dateITA",
  39. function(value, element) {
  40. var check = false;
  41. var re = /^d{1,2}/d{1,2}/d{4}$/;
  42. if( re.test(value)){
  43. var adata = value.split('/');
  44. var gg = parseInt(adata[0],10);
  45. var mm = parseInt(adata[1],10);
  46. var aaaa = parseInt(adata[2],10);
  47. var xdata = new Date(aaaa,mm-1,gg);
  48. if ( ( xdata.getFullYear() == aaaa )
  49. && ( xdata.getMonth () == mm - 1 )
  50. && ( xdata.getDate() == gg ) )
  51. check = true;
  52. else
  53. check = false;
  54. } else
  55. check = false;
  56. return this.optional(element) || check;
  57. },
  58. "Please enter a correct date"
  59. );
  60.  
  61. yepnope({
  62. test: isNaN(Date.parse("23/2/2012")),
  63. nope: 'http://ajax.aspnetcdn.com/ajax/jquery.validate/1.13.0/additional-methods.min.js',
  64. complete: function () {
  65. $.validator.methods.date = $.validator.methods.dateITA
  66. }
  67. });
  68.  
  69. (function ($) {
  70. var invokeTestDate = function () {
  71. return $.validator.methods.date.call({
  72. optional: function () {
  73. return false;
  74. }, (new Date(2012,8,23)).toLocaleDateString(), null);
  75. };
  76. if (invokeTestDate()) {
  77. return;
  78. }
  79.  
  80. // http://docs.jquery.com/Plugins/Validation/Methods/date
  81.  
  82. $.validator.methods.date = function (value, element) {
  83. //ES - Chrome does not use the locale when new Date objects instantiated:
  84. //return this.optional(element) || !/Invalid|NaN/.test(new Date(value));
  85. var d = new Date();
  86. return this.optional(element) || !/Invalid|NaN/.test(new Date(d.toLocaleDateString(value)));
  87. }
  88. })(jQuery);
  89.  
  90. if ($.validator) {
  91. $.validator.addMethod("date",
  92. function (value, element, params) {
  93. if (this.optional(element)) {
  94. return true;
  95. }
  96.  
  97. var ok = true;
  98. try {
  99. $.datepicker.parseDate("dd/mm/yy", value);
  100. }
  101. catch (err) {
  102. ok = false;
  103. }
  104. return ok;
  105. });
  106. }
  107.  
  108. $.validator.addMethod(
  109. "date",
  110. function(value, element) {
  111. var check = false;
  112. var re = /^d{1,2}/d{1,2}/d{4}$/;
  113. var reBR = /^d{4}-d{1,2}-d{1,2}$/;
  114. if( re.test(value)){
  115. var adata = value.split('/');
  116. var gg = parseInt(adata[0],10);
  117. var mm = parseInt(adata[1],10);
  118. var aaaa = parseInt(adata[2],10);
  119. var xdata = new Date(aaaa,mm-1,gg);
  120. if ( ( xdata.getFullYear() == aaaa ) && ( xdata.getMonth () == mm - 1 ) && ( xdata.getDate() == gg ) )
  121. check = true;
  122. else
  123. check = false;
  124. } else if( reBR.test(value)){
  125. var adata = value.split('-');
  126. var aaaa = parseInt(adata[0],10);
  127. var mm = parseInt(adata[1],10);
  128. var gg = parseInt(adata[2],10);
  129. var xdata = new Date(aaaa,mm-1,gg);
  130. if ( ( xdata.getFullYear() == aaaa ) && ( xdata.getMonth () == mm - 1 ) && ( xdata.getDate() == gg ) )
  131. check = true;
  132. else
  133. check = false;
  134. } else
  135. check = false;
  136. console.log(check);
  137. return this.optional(element) || check;
  138. },
  139. "Por favor insira uma data válida"
  140. );
  141.  
  142. $.validator.addMethod(
  143. "dateRule",
  144. function(value, element) {
  145. return value.match(/^dd?/dd?/dd$/);
  146. },
  147. "Please enter a date in the format dd/mm/yy"
  148. );
  149.  
  150. ^((0?[13578]|10|12)(-|/)(([1-9])|(0[1-9])|([12])([0-9]?)|(3[01]?))(-|/)((19)([2-9])(d{1})|(20)([01])(d{1})|([8901])(d{1}))|(0?[2469]|11)(-|/)(([1-9])|(0[1-9])|([12])([0-9]?)|(3[0]?))(-|/)((19)([2-9])(d{1})|(20)([01])(d{1})|([8901])(d{1})))$
  151.  
  152. jQuery.extend(jQuery.validator.methods, {
  153. date: function (value, element) {
  154. var isChrome = window.chrome;
  155. // make correction for chrome
  156. if (isChrome) {
  157. var d = new Date();
  158. return this.optional(element) ||
  159. !/Invalid|NaN/.test(new Date(d.toLocaleDateString(value)));
  160. }
  161. // leave default behavior
  162. else {
  163. return this.optional(element) ||
  164. !/Invalid|NaN/.test(new Date(value));
  165. }
  166. }
  167. });
  168.  
  169. jQuery.validator.methods["date"] = function (value, element){
  170. var shortDateFormat = "dd/mm/yy";
  171. var res = true;
  172. try {
  173. $.datepicker.parseDate(shortDateFormat, value);
  174. } catch (error) {
  175. res = false;
  176. }
  177. return res;
  178. }
Add Comment
Please, Sign In to add comment