diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/DateTimePicker.js b/typo3/sysext/backend/Resources/Public/JavaScript/DateTimePicker.js index 6fbb0e0fa1dfff5896ffad72ed7dd1f9f76a528e..1a053b18e4f5cb85faf19ae6be4ef0611c1d1215 100644 --- a/typo3/sysext/backend/Resources/Public/JavaScript/DateTimePicker.js +++ b/typo3/sysext/backend/Resources/Public/JavaScript/DateTimePicker.js @@ -173,6 +173,7 @@ define(['jquery'], function($) { } $hiddenField.val(value); } + $(document).trigger('formengine.dp.change', [$(this)]); }); }); } diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/FormEngine.js b/typo3/sysext/backend/Resources/Public/JavaScript/FormEngine.js index e1e246db00249f50b180f686a1ba333cc35f8900..a4c9c3551bfc389903c5711b5a782ed0bfdf2f67 100644 --- a/typo3/sysext/backend/Resources/Public/JavaScript/FormEngine.js +++ b/typo3/sysext/backend/Resources/Public/JavaScript/FormEngine.js @@ -729,6 +729,9 @@ define(['jquery', $input.val($(this).attr('data-original-language-value')).trigger('change'); $input.data('last-l10n-state', $(this).val()); } + }).on('formengine.dp.change', function(event, $field) { + FormEngine.Validation.validate(); + FormEngine.Validation.markFieldAsChanged($field); }); }; diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/FormEngineValidation.js b/typo3/sysext/backend/Resources/Public/JavaScript/FormEngineValidation.js index feba8af35288d755900ee3f71edc602e20042ac6..ac9f619beb1caedae103fb46343c6cb24ef58ee6 100644 --- a/typo3/sysext/backend/Resources/Public/JavaScript/FormEngineValidation.js +++ b/typo3/sysext/backend/Resources/Public/JavaScript/FormEngineValidation.js @@ -21,14 +21,13 @@ define(['jquery', 'TYPO3/CMS/Backend/FormEngine', 'moment'], function ($, FormEn /** * The main FormEngineValidation object * - * @type {{rulesSelector: string, inputSelector: string, markerSelector: string, dateTimeSelector: string, groupFieldHiddenElement: string, relatedFieldSelector: string, errorClass: string, lastYear: number, lastDate: number, lastTime: number, refDate: Date, USmode: number, passwordDummy: string}} + * @type {{rulesSelector: string, inputSelector: string, markerSelector: string, groupFieldHiddenElement: string, relatedFieldSelector: string, errorClass: string, lastYear: number, lastDate: number, lastTime: number, refDate: Date, USmode: number, passwordDummy: string}} * @exports TYPO3/CMS/Backend/FormEngineValidation */ var FormEngineValidation = { rulesSelector: '[data-formengine-validation-rules]', inputSelector: '[data-formengine-input-params]', markerSelector: '.t3js-formengine-validation-marker', - dateTimeSelector: '.t3js-datetimepicker', groupFieldHiddenElement: '.t3js-formengine-field-group input[type=hidden]', relatedFieldSelector: '[data-relatedfieldname]', errorClass: 'has-error', @@ -51,14 +50,7 @@ define(['jquery', 'TYPO3/CMS/Backend/FormEngine', 'moment'], function ($, FormEn // Bind to field changes $(document).on('change', FormEngineValidation.rulesSelector, function() { FormEngineValidation.validate(); - var $paletteField = $(this).closest('.t3js-formengine-palette-field'); - $paletteField.addClass('has-change'); - }); - - $(document).on('dp.change', FormEngineValidation.dateTimeSelector, function(event) { - FormEngineValidation.validate(); - var $paletteField = $(this).closest('.t3js-formengine-palette-field'); - $paletteField.addClass('has-change'); + FormEngineValidation.markFieldAsChanged($(this)); }); }); @@ -539,6 +531,16 @@ define(['jquery', 'TYPO3/CMS/Backend/FormEngine', 'moment'], function ($, FormEn $(document).trigger('t3-formengine-postfieldvalidation'); }; + /** + * Helper function to mark a field as changed. + * + * @param {Object} $field + */ + FormEngineValidation.markFieldAsChanged = function($field) { + var $paletteField = $field.closest('.t3js-formengine-palette-field'); + $paletteField.addClass('has-change'); + }; + /** * Helper function to get clean trimmed array from comma list *