$context['type'] = $this->getType();
$context['attributes'] = implode(' ', $otherattributes);
$context['emptylabel'] = ($this->getLabel() === '');
+ $context['iderror'] = preg_replace('/^id_/', 'id_error_', $context['id']);
// Elements with multiple values need array syntax.
if ($this->getAttribute('multiple')) {
{{#element.checked}}checked{{/element.checked}}
size="{{element.size}}"
{{#error}}
- autofocus aria-describedby="id_error_{{element.name}}"
+ autofocus aria-describedby="{{element.iderror}}"
{{/error}}
{{#element.frozen}}
disabled
<em>{{{.}}}</em>
{{/text}}
{{{helpbutton}}}
-<span class="form-control-feedback invalid-feedback" id="id_error_{{element.name}}" {{#error}} style="display: block;"{{/error}}>
+<span class="form-control-feedback invalid-feedback" id="{{element.iderror}}" {{#error}} style="display: block;"{{/error}}>
{{{error}}}
</span>
{{^element.frozen}}
{{/element.selectedvalue}}
id="{{element.id}}" {{#element.checked}}checked{{/element.checked}}
{{#error}}
- autofocus aria-describedby="id_error_{{element.name}}"
+ autofocus aria-describedby="{{element.iderror}}"
{{/error}}
{{#element.frozen}}
disabled
{{{helpbutton}}}
</span>
</div>
- <div class="form-control-feedback invalid-feedback" id="id_error_{{element.name}}" {{#error}} style="display: block;"{{/error}}>
+ <div class="form-control-feedback invalid-feedback" id="{{element.iderror}}" {{#error}} style="display: block;"{{/error}}>
{{{error}}}
</div>
</div>
id="{{element.id}}"
{{#element.multiple}}multiple{{/element.multiple}}
{{#error}}
- autofocus aria-describedby="id_error_{{element.name}}"
+ autofocus aria-describedby="{{element.iderror}}"
{{/error}}
{{{element.attributes}}} >
{{#element.options}}
id="{{element.id}}"
{{#element.multiple}}multiple{{/element.multiple}}
{{#error}}
- autofocus aria-describedby="id_error_{{element.name}}"
+ autofocus aria-describedby="{{element.iderror}}"
{{/error}}
{{{element.attributes}}} >
{{#element.options}}
id="{{element.id}}"
type="button"
{{#error}}
- autofocus aria-describedby="id_error_{{element.name}}"
+ autofocus aria-describedby="{{element.iderror}}"
{{/error}}
{{{element.attributes}}}
>
id="{{element.id}}"
type="button"
{{#error}}
- autofocus aria-describedby="id_error_{{element.name}}"
+ autofocus aria-describedby="{{element.iderror}}"
{{/error}}
{{{element.attributes}}}>
{{{element.value}}}
{{#element.checked}}checked{{/element.checked}}
size="{{element.size}}"
{{#error}}
- autofocus aria-describedby="id_error_{{element.name}}"
+ autofocus aria-describedby="{{element.iderror}}"
{{/error}}
{{#element.frozen}}
disabled
<em>{{{.}}}</em>
{{/text}}
{{{helpbutton}}}
-<span class="form-control-feedback invalid-feedback" id="id_error_{{element.name}}" {{#error}} style="display: block;"{{/error}}>
+<span class="form-control-feedback invalid-feedback" id="{{element.iderror}}" {{#error}} style="display: block;"{{/error}}>
{{{error}}}
</span>
{{^element.frozen}}
{{/element.value}}
id="{{element.id}}" {{#element.checked}}checked{{/element.checked}}
{{#error}}
- autofocus aria-describedby="id_error_{{element.name}}"
+ autofocus aria-describedby="{{element.iderror}}"
{{/error}}
{{#element.frozen}}
disabled
{{{helpbutton}}}
</span>
</div>
- <div class="form-control-feedback invalid-feedback" id="id_error_{{element.name}}" {{#error}} style="display: block;"{{/error}}>
+ <div class="form-control-feedback invalid-feedback" id="{{element.iderror}}" {{#error}} style="display: block;"{{/error}}>
{{{error}}}
</div>
</div>
value="{{element.value}}"
size="{{element.size}}"
{{#error}}
- autofocus aria-describedby="id_error_{{element.name}}"
+ autofocus aria-describedby="{{element.iderror}}"
{{/error}} {{{element.attributes}}}>
{{/element.frozen}}
{{/element}}
class="form-control d-inline-block {{# error }}is-invalid{{/ error }}"
data-size="{{ element.size }}"
{{# error }}
- autofocus aria-describedby="id_error_{{ element.name }}"
+ autofocus aria-describedby="{{ element.iderror }}"
{{/ error }}
{{{ attributes }}}
>
{{#element.checked}}checked{{/element.checked}}
{{#element.frozen}}disabled{{/element.frozen}}
{{#error}}
- autofocus aria-describedby="id_error_{{element.name}}"
+ autofocus aria-describedby="{{element.iderror}}"
{{/error}}
{{{element.attributes}}} >
{{{label}}}
<em>{{{.}}}</em>
{{/text}}
{{{helpbutton}}}
-<span class="form-control-feedback invalid-feedback" id="id_error_{{element.name}}" {{#error}} style="display: block;"{{/error}}>
+<span class="form-control-feedback invalid-feedback" id="{{element.iderror}}" {{#error}} style="display: block;"{{/error}}>
{{{error}}}
</span>
{{^element.frozen}}
{{#element.checked}}checked{{/element.checked}}
{{#element.frozen}}disabled{{/element.frozen}}
{{#error}}
- autofocus aria-describedby="id_error_{{element.name}}"
+ autofocus aria-describedby="{{element.iderror}}"
{{/error}} {{{element.attributes}}} >
{{#text}}
{{{.}}}
{{{helpbutton}}}
</span>
</div>
- <div class="form-control-feedback invalid-feedback" id="id_error_{{element.name}}" {{#error}} style="display: block;"{{/error}}>
+ <div class="form-control-feedback invalid-feedback" id="{{element.iderror}}" {{#error}} style="display: block;"{{/error}}>
{{{error}}}
</div>
</div>
id="{{element.id}}"
{{#element.multiple}}multiple size="{{element.size}}"{{/element.multiple}}
{{#error}}
- autofocus aria-describedby="id_error_{{element.name}}"
+ autofocus aria-describedby="{{element.iderror}}"
{{/error}}
{{{element.attributes}}} >
{{#element.options}}
id="{{element.id}}"
{{#element.multiple}}multiple size="{{element.size}}"{{/element.multiple}}
{{#error}}
- autofocus aria-describedby="id_error_{{element.name}}"
+ autofocus aria-describedby="{{element.iderror}}"
{{/error}}
{{{element.attributes}}} >
{{#element.options}}
id="{{element.id}}"
{{#element.multiple}}multiple{{/element.multiple}}
{{#error}}
- autofocus aria-describedby="id_error_{{element.name}}"
+ autofocus aria-describedby="{{element.iderror}}"
{{/error}}
{{{element.attributes}}} >
{{#element.optiongroups}}
id="{{element.id}}"
{{#element.multiple}}multiple{{/element.multiple}}
{{#error}}
- autofocus aria-describedby="id_error_{{element.name}}"
+ autofocus aria-describedby="{{element.iderror}}"
{{/error}}
{{{element.attributes}}} >
{{#element.optiongroups}}
id="{{element.id}}"
{{#element.multiple}}multiple{{/element.multiple}}
{{#error}}
- autofocus aria-describedby="id_error_{{element.name}}"
+ autofocus aria-describedby="{{element.iderror}}"
{{/error}}
{{{element.attributes}}} >
{{#element.options}}
name="{{element.name}}"
id="{{element.id}}"
{{#error}}
- autofocus aria-describedby="id_error_{{element.name}}"
+ autofocus aria-describedby="{{element.iderror}}"
{{/error}}
value="{{element.value}}"
{{{element.attributes}}} >
id="{{element.id}}"
{{#element.multiple}}multiple{{/element.multiple}}
{{#error}}
- autofocus aria-describedby="id_error_{{element.name}}"
+ autofocus aria-describedby="{{element.iderror}}"
{{/error}}
{{{element.attributes}}} >
{{#element.options}}
id="{{element.id}}"
{{#element.multiple}}multiple{{/element.multiple}}
{{#error}}
- autofocus aria-describedby="id_error_{{element.name}}"
+ autofocus aria-describedby="{{element.iderror}}"
{{/error}}
{{{element.attributes}}} >
{{#element.options}}
<!-- Element goes here -->
{{/ element }}
</span>
- <div class="form-control-feedback invalid-feedback" id="id_error_{{element.name}}" {{#error}} style="display: block;"{{/error}}>
+ <div class="form-control-feedback invalid-feedback" id="{{element.iderror}}" {{#error}} style="display: block;"{{/error}}>
{{{error}}}
</div>
</div>
{{$ element }}
<!-- Element goes here -->
{{/ element }}
- <div class="form-control-feedback invalid-feedback" id="id_error_{{element.name}}" {{#error}} style="display: block;"{{/error}}>
+ <div class="form-control-feedback invalid-feedback" id="{{element.iderror}}" {{#error}} style="display: block;"{{/error}}>
{{{error}}}
</div>
</div>
value="{{element.value}}"
size="{{element.size}}"
{{#error}}
- autofocus aria-describedby="id_error_{{element.name}}"
+ autofocus aria-describedby="{{element.iderror}}"
{{/error}}
{{{element.attributes}}}>
{{/element}}
value="{{element.value}}"
size="{{element.size}}"
{{#error}}
- autofocus aria-describedby="id_error_{{element.name}}"
+ autofocus aria-describedby="{{element.iderror}}"
{{/error}}
{{{element.attributes}}} >
{{/element}}
id="{{element.id}}"
class="form-control {{#error}}is-invalid{{/error}}"
{{#error}}
- autofocus aria-describedby="id_error_{{element.name}}"
+ autofocus aria-describedby="{{element.iderror}}"
{{/error}}
{{{element.attributes}}} >{{element.value}}</textarea>
{{/element.frozen}}
value="{{element.value}}"
size="{{element.size}}"
{{#error}}
- autofocus aria-describedby="id_error_{{element.name}}"
+ autofocus aria-describedby="{{element.iderror}}"
{{/error}}
{{#element.frozen}}
readonly {{#element.hardfrozen}}disabled{{/element.hardfrozen}}
// The id will be something like 'fgroup_id_NAME'. E.g. fgroup_id_mygroup.
$elementcontext['wrapperid'] = $elementcontext['id'];
- // Ensure group elements pass through the group name as the element name so the id_error_{{element.name}} is
- // properly set in the template.
+ // Ensure group elements pass through the group name as the element name.
$elementcontext['name'] = $elementcontext['groupname'];
} else {
// Non grouped element.