/**
   * Allows the validation decorator to write markup after the field has written all of its markup.
   * In addition, may invoke the <code>core/fields:showValidationError</code> function to present
   * the field's error (if it has one) to the user.
   */
  @AfterRender
  final void afterDecorator() {
    decorator.afterField(this);

    String error = validationTracker.getError(this);

    if (error != null) {
      javaScriptSupport
          .require("t5/core/fields")
          .invoke("showValidationError")
          .with(assignedClientId, error);
    }
  }
 /**
  * Invoked from subclasses after they have written their tag and (where appropriate) their
  * informal parameters <em>and</em> have allowed their {@link Validator} to write markup as well.
  */
 protected final void decorateInsideField() {
   decorator.insideField(this);
 }
 /** Allows the validation decorator to write markup before the field itself writes markup. */
 @BeginRender
 final void beforeDecorator() {
   decorator.beforeField(this);
 }