diff --git a/core/misc/states.js b/core/misc/states.js index c68d1b5..6926a21 100644 --- a/core/misc/states.js +++ b/core/misc/states.js @@ -538,7 +538,12 @@ $(document).on('state:visible', function (e) { if (e.trigger) { - $(e.target).closest('.form-item, .form-submit, .form-wrapper').toggle(e.value); + if (e.value) { + $(e.target).closest('.form-item, .form-wrapper').find('label').append(Drupal.theme('formRequiredMarker')); + } + else { + $(e.target).closest('.form-required').find('label *:last').remove(); + } } }); @@ -557,6 +562,16 @@ }); /** + * Formats the marker for required form elements. + * + * @return + * The formatted text (html). + */ + Drupal.theme.prototype.formRequiredMarker = function () { + return '*'; + }; + + /** * These are helper functions implementing addition "operators" and don't * implement any logic that is particular to states. */