Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- add_action('after_wcfm_products_manage', function() {
- ?>
- <script>
- jQuery(function($) {
- $( document.body ).on( 'wcfm_form_validate', function(event, elem) {
- let $elem = $(elem);
- let $datePickers = $elem.find('input.wcfm_datepicker.hasDatepicker');
- if($datePickers.length) {
- $datePickers.each( function() {
- let $datePicker = $(this);
- if($datePicker.attr('placeholder')!=='YYYY-MM-DD' || !$datePicker.val()) return;
- if(!isValidDate($datePicker.val())) {
- if( $wcfm_is_valid_form )
- $('#' + $elem.attr('id') + ' .wcfm-message').html( '<span class="wcicon-status-cancelled"></span>Invalid date. Use YYYY-MM-DD format.').addClass('wcfm-error').slideDown();
- else
- $('#' + $elem.attr('id') + ' .wcfm-message').append( '<br /><span class="wcicon-status-cancelled"></span>Invalid date. Use YYYY-MM-DD format.' );
- $wcfm_is_valid_form = false;
- $datePicker.removeClass('wcfm_validation_success').addClass('wcfm_validation_failed');
- return;
- }
- });
- }
- });
- function isValidDate(dateString) {
- const dateFormatRegex = /^\d{4}-\d{2}-\d{2}$/;
- if (!dateFormatRegex.test(dateString)) {
- return false;
- }
- const parts = dateString.split("-");
- const year = parseInt(parts[0], 10);
- const month = parseInt(parts[1], 10);
- const day = parseInt(parts[2], 10);
- const date = new Date(year, month - 1, day);
- return !isNaN(date.getTime()) &&
- date.getFullYear() === year &&
- date.getMonth() === month - 1 &&
- date.getDate() === day;
- }
- });
- </script>
- <?php
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement