mirror of
https://github.com/moodle/moodle.git
synced 2025-08-05 17:06:53 +02:00
MDL-65217 form: id for error area
This commit is contained in:
parent
086aa543b9
commit
521989ec56
28 changed files with 34 additions and 34 deletions
|
@ -82,6 +82,7 @@ trait templatable_form_element {
|
||||||
$context['type'] = $this->getType();
|
$context['type'] = $this->getType();
|
||||||
$context['attributes'] = implode(' ', $otherattributes);
|
$context['attributes'] = implode(' ', $otherattributes);
|
||||||
$context['emptylabel'] = ($this->getLabel() === '');
|
$context['emptylabel'] = ($this->getLabel() === '');
|
||||||
|
$context['iderror'] = preg_replace('/^id_/', 'id_error_', $context['id']);
|
||||||
|
|
||||||
// Elements with multiple values need array syntax.
|
// Elements with multiple values need array syntax.
|
||||||
if ($this->getAttribute('multiple')) {
|
if ($this->getAttribute('multiple')) {
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
{{#element.checked}}checked{{/element.checked}}
|
{{#element.checked}}checked{{/element.checked}}
|
||||||
size="{{element.size}}"
|
size="{{element.size}}"
|
||||||
{{#error}}
|
{{#error}}
|
||||||
autofocus aria-describedby="id_error_{{element.name}}"
|
autofocus aria-describedby="{{element.iderror}}"
|
||||||
{{/error}}
|
{{/error}}
|
||||||
{{#element.frozen}}
|
{{#element.frozen}}
|
||||||
disabled
|
disabled
|
||||||
|
@ -27,7 +27,7 @@
|
||||||
<em>{{{.}}}</em>
|
<em>{{{.}}}</em>
|
||||||
{{/text}}
|
{{/text}}
|
||||||
{{{helpbutton}}}
|
{{{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}}}
|
{{{error}}}
|
||||||
</span>
|
</span>
|
||||||
{{^element.frozen}}
|
{{^element.frozen}}
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
{{/element.selectedvalue}}
|
{{/element.selectedvalue}}
|
||||||
id="{{element.id}}" {{#element.checked}}checked{{/element.checked}}
|
id="{{element.id}}" {{#element.checked}}checked{{/element.checked}}
|
||||||
{{#error}}
|
{{#error}}
|
||||||
autofocus aria-describedby="id_error_{{element.name}}"
|
autofocus aria-describedby="{{element.iderror}}"
|
||||||
{{/error}}
|
{{/error}}
|
||||||
{{#element.frozen}}
|
{{#element.frozen}}
|
||||||
disabled
|
disabled
|
||||||
|
@ -43,7 +43,7 @@
|
||||||
{{{helpbutton}}}
|
{{{helpbutton}}}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</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}}}
|
{{{error}}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
id="{{element.id}}"
|
id="{{element.id}}"
|
||||||
{{#element.multiple}}multiple{{/element.multiple}}
|
{{#element.multiple}}multiple{{/element.multiple}}
|
||||||
{{#error}}
|
{{#error}}
|
||||||
autofocus aria-describedby="id_error_{{element.name}}"
|
autofocus aria-describedby="{{element.iderror}}"
|
||||||
{{/error}}
|
{{/error}}
|
||||||
{{{element.attributes}}} >
|
{{{element.attributes}}} >
|
||||||
{{#element.options}}
|
{{#element.options}}
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
id="{{element.id}}"
|
id="{{element.id}}"
|
||||||
{{#element.multiple}}multiple{{/element.multiple}}
|
{{#element.multiple}}multiple{{/element.multiple}}
|
||||||
{{#error}}
|
{{#error}}
|
||||||
autofocus aria-describedby="id_error_{{element.name}}"
|
autofocus aria-describedby="{{element.iderror}}"
|
||||||
{{/error}}
|
{{/error}}
|
||||||
{{{element.attributes}}} >
|
{{{element.attributes}}} >
|
||||||
{{#element.options}}
|
{{#element.options}}
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
id="{{element.id}}"
|
id="{{element.id}}"
|
||||||
type="button"
|
type="button"
|
||||||
{{#error}}
|
{{#error}}
|
||||||
autofocus aria-describedby="id_error_{{element.name}}"
|
autofocus aria-describedby="{{element.iderror}}"
|
||||||
{{/error}}
|
{{/error}}
|
||||||
{{{element.attributes}}}
|
{{{element.attributes}}}
|
||||||
>
|
>
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
id="{{element.id}}"
|
id="{{element.id}}"
|
||||||
type="button"
|
type="button"
|
||||||
{{#error}}
|
{{#error}}
|
||||||
autofocus aria-describedby="id_error_{{element.name}}"
|
autofocus aria-describedby="{{element.iderror}}"
|
||||||
{{/error}}
|
{{/error}}
|
||||||
{{{element.attributes}}}>
|
{{{element.attributes}}}>
|
||||||
{{{element.value}}}
|
{{{element.value}}}
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
{{#element.checked}}checked{{/element.checked}}
|
{{#element.checked}}checked{{/element.checked}}
|
||||||
size="{{element.size}}"
|
size="{{element.size}}"
|
||||||
{{#error}}
|
{{#error}}
|
||||||
autofocus aria-describedby="id_error_{{element.name}}"
|
autofocus aria-describedby="{{element.iderror}}"
|
||||||
{{/error}}
|
{{/error}}
|
||||||
{{#element.frozen}}
|
{{#element.frozen}}
|
||||||
disabled
|
disabled
|
||||||
|
@ -27,7 +27,7 @@
|
||||||
<em>{{{.}}}</em>
|
<em>{{{.}}}</em>
|
||||||
{{/text}}
|
{{/text}}
|
||||||
{{{helpbutton}}}
|
{{{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}}}
|
{{{error}}}
|
||||||
</span>
|
</span>
|
||||||
{{^element.frozen}}
|
{{^element.frozen}}
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
{{/element.value}}
|
{{/element.value}}
|
||||||
id="{{element.id}}" {{#element.checked}}checked{{/element.checked}}
|
id="{{element.id}}" {{#element.checked}}checked{{/element.checked}}
|
||||||
{{#error}}
|
{{#error}}
|
||||||
autofocus aria-describedby="id_error_{{element.name}}"
|
autofocus aria-describedby="{{element.iderror}}"
|
||||||
{{/error}}
|
{{/error}}
|
||||||
{{#element.frozen}}
|
{{#element.frozen}}
|
||||||
disabled
|
disabled
|
||||||
|
@ -43,7 +43,7 @@
|
||||||
{{{helpbutton}}}
|
{{{helpbutton}}}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</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}}}
|
{{{error}}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
value="{{element.value}}"
|
value="{{element.value}}"
|
||||||
size="{{element.size}}"
|
size="{{element.size}}"
|
||||||
{{#error}}
|
{{#error}}
|
||||||
autofocus aria-describedby="id_error_{{element.name}}"
|
autofocus aria-describedby="{{element.iderror}}"
|
||||||
{{/error}} {{{element.attributes}}}>
|
{{/error}} {{{element.attributes}}}>
|
||||||
{{/element.frozen}}
|
{{/element.frozen}}
|
||||||
{{/element}}
|
{{/element}}
|
||||||
|
|
|
@ -57,7 +57,7 @@
|
||||||
class="form-control d-inline-block {{# error }}is-invalid{{/ error }}"
|
class="form-control d-inline-block {{# error }}is-invalid{{/ error }}"
|
||||||
data-size="{{ element.size }}"
|
data-size="{{ element.size }}"
|
||||||
{{# error }}
|
{{# error }}
|
||||||
autofocus aria-describedby="id_error_{{ element.name }}"
|
autofocus aria-describedby="{{ element.iderror }}"
|
||||||
{{/ error }}
|
{{/ error }}
|
||||||
{{{ attributes }}}
|
{{{ attributes }}}
|
||||||
>
|
>
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
{{#element.checked}}checked{{/element.checked}}
|
{{#element.checked}}checked{{/element.checked}}
|
||||||
{{#element.frozen}}disabled{{/element.frozen}}
|
{{#element.frozen}}disabled{{/element.frozen}}
|
||||||
{{#error}}
|
{{#error}}
|
||||||
autofocus aria-describedby="id_error_{{element.name}}"
|
autofocus aria-describedby="{{element.iderror}}"
|
||||||
{{/error}}
|
{{/error}}
|
||||||
{{{element.attributes}}} >
|
{{{element.attributes}}} >
|
||||||
{{{label}}}
|
{{{label}}}
|
||||||
|
@ -28,7 +28,7 @@
|
||||||
<em>{{{.}}}</em>
|
<em>{{{.}}}</em>
|
||||||
{{/text}}
|
{{/text}}
|
||||||
{{{helpbutton}}}
|
{{{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}}}
|
{{{error}}}
|
||||||
</span>
|
</span>
|
||||||
{{^element.frozen}}
|
{{^element.frozen}}
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
{{#element.checked}}checked{{/element.checked}}
|
{{#element.checked}}checked{{/element.checked}}
|
||||||
{{#element.frozen}}disabled{{/element.frozen}}
|
{{#element.frozen}}disabled{{/element.frozen}}
|
||||||
{{#error}}
|
{{#error}}
|
||||||
autofocus aria-describedby="id_error_{{element.name}}"
|
autofocus aria-describedby="{{element.iderror}}"
|
||||||
{{/error}} {{{element.attributes}}} >
|
{{/error}} {{{element.attributes}}} >
|
||||||
{{#text}}
|
{{#text}}
|
||||||
{{{.}}}
|
{{{.}}}
|
||||||
|
@ -44,7 +44,7 @@
|
||||||
{{{helpbutton}}}
|
{{{helpbutton}}}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</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}}}
|
{{{error}}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
id="{{element.id}}"
|
id="{{element.id}}"
|
||||||
{{#element.multiple}}multiple size="{{element.size}}"{{/element.multiple}}
|
{{#element.multiple}}multiple size="{{element.size}}"{{/element.multiple}}
|
||||||
{{#error}}
|
{{#error}}
|
||||||
autofocus aria-describedby="id_error_{{element.name}}"
|
autofocus aria-describedby="{{element.iderror}}"
|
||||||
{{/error}}
|
{{/error}}
|
||||||
{{{element.attributes}}} >
|
{{{element.attributes}}} >
|
||||||
{{#element.options}}
|
{{#element.options}}
|
||||||
|
|
|
@ -104,7 +104,7 @@
|
||||||
id="{{element.id}}"
|
id="{{element.id}}"
|
||||||
{{#element.multiple}}multiple size="{{element.size}}"{{/element.multiple}}
|
{{#element.multiple}}multiple size="{{element.size}}"{{/element.multiple}}
|
||||||
{{#error}}
|
{{#error}}
|
||||||
autofocus aria-describedby="id_error_{{element.name}}"
|
autofocus aria-describedby="{{element.iderror}}"
|
||||||
{{/error}}
|
{{/error}}
|
||||||
{{{element.attributes}}} >
|
{{{element.attributes}}} >
|
||||||
{{#element.options}}
|
{{#element.options}}
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
id="{{element.id}}"
|
id="{{element.id}}"
|
||||||
{{#element.multiple}}multiple{{/element.multiple}}
|
{{#element.multiple}}multiple{{/element.multiple}}
|
||||||
{{#error}}
|
{{#error}}
|
||||||
autofocus aria-describedby="id_error_{{element.name}}"
|
autofocus aria-describedby="{{element.iderror}}"
|
||||||
{{/error}}
|
{{/error}}
|
||||||
{{{element.attributes}}} >
|
{{{element.attributes}}} >
|
||||||
{{#element.optiongroups}}
|
{{#element.optiongroups}}
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
id="{{element.id}}"
|
id="{{element.id}}"
|
||||||
{{#element.multiple}}multiple{{/element.multiple}}
|
{{#element.multiple}}multiple{{/element.multiple}}
|
||||||
{{#error}}
|
{{#error}}
|
||||||
autofocus aria-describedby="id_error_{{element.name}}"
|
autofocus aria-describedby="{{element.iderror}}"
|
||||||
{{/error}}
|
{{/error}}
|
||||||
{{{element.attributes}}} >
|
{{{element.attributes}}} >
|
||||||
{{#element.optiongroups}}
|
{{#element.optiongroups}}
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
id="{{element.id}}"
|
id="{{element.id}}"
|
||||||
{{#element.multiple}}multiple{{/element.multiple}}
|
{{#element.multiple}}multiple{{/element.multiple}}
|
||||||
{{#error}}
|
{{#error}}
|
||||||
autofocus aria-describedby="id_error_{{element.name}}"
|
autofocus aria-describedby="{{element.iderror}}"
|
||||||
{{/error}}
|
{{/error}}
|
||||||
{{{element.attributes}}} >
|
{{{element.attributes}}} >
|
||||||
{{#element.options}}
|
{{#element.options}}
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
name="{{element.name}}"
|
name="{{element.name}}"
|
||||||
id="{{element.id}}"
|
id="{{element.id}}"
|
||||||
{{#error}}
|
{{#error}}
|
||||||
autofocus aria-describedby="id_error_{{element.name}}"
|
autofocus aria-describedby="{{element.iderror}}"
|
||||||
{{/error}}
|
{{/error}}
|
||||||
value="{{element.value}}"
|
value="{{element.value}}"
|
||||||
{{{element.attributes}}} >
|
{{{element.attributes}}} >
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
id="{{element.id}}"
|
id="{{element.id}}"
|
||||||
{{#element.multiple}}multiple{{/element.multiple}}
|
{{#element.multiple}}multiple{{/element.multiple}}
|
||||||
{{#error}}
|
{{#error}}
|
||||||
autofocus aria-describedby="id_error_{{element.name}}"
|
autofocus aria-describedby="{{element.iderror}}"
|
||||||
{{/error}}
|
{{/error}}
|
||||||
{{{element.attributes}}} >
|
{{{element.attributes}}} >
|
||||||
{{#element.options}}
|
{{#element.options}}
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
id="{{element.id}}"
|
id="{{element.id}}"
|
||||||
{{#element.multiple}}multiple{{/element.multiple}}
|
{{#element.multiple}}multiple{{/element.multiple}}
|
||||||
{{#error}}
|
{{#error}}
|
||||||
autofocus aria-describedby="id_error_{{element.name}}"
|
autofocus aria-describedby="{{element.iderror}}"
|
||||||
{{/error}}
|
{{/error}}
|
||||||
{{{element.attributes}}} >
|
{{{element.attributes}}} >
|
||||||
{{#element.options}}
|
{{#element.options}}
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
<!-- Element goes here -->
|
<!-- Element goes here -->
|
||||||
{{/ element }}
|
{{/ element }}
|
||||||
</span>
|
</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}}}
|
{{{error}}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -64,7 +64,7 @@
|
||||||
{{$ element }}
|
{{$ element }}
|
||||||
<!-- Element goes here -->
|
<!-- Element goes here -->
|
||||||
{{/ element }}
|
{{/ 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}}}
|
{{{error}}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
value="{{element.value}}"
|
value="{{element.value}}"
|
||||||
size="{{element.size}}"
|
size="{{element.size}}"
|
||||||
{{#error}}
|
{{#error}}
|
||||||
autofocus aria-describedby="id_error_{{element.name}}"
|
autofocus aria-describedby="{{element.iderror}}"
|
||||||
{{/error}}
|
{{/error}}
|
||||||
{{{element.attributes}}}>
|
{{{element.attributes}}}>
|
||||||
{{/element}}
|
{{/element}}
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
value="{{element.value}}"
|
value="{{element.value}}"
|
||||||
size="{{element.size}}"
|
size="{{element.size}}"
|
||||||
{{#error}}
|
{{#error}}
|
||||||
autofocus aria-describedby="id_error_{{element.name}}"
|
autofocus aria-describedby="{{element.iderror}}"
|
||||||
{{/error}}
|
{{/error}}
|
||||||
{{{element.attributes}}} >
|
{{{element.attributes}}} >
|
||||||
{{/element}}
|
{{/element}}
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
id="{{element.id}}"
|
id="{{element.id}}"
|
||||||
class="form-control {{#error}}is-invalid{{/error}}"
|
class="form-control {{#error}}is-invalid{{/error}}"
|
||||||
{{#error}}
|
{{#error}}
|
||||||
autofocus aria-describedby="id_error_{{element.name}}"
|
autofocus aria-describedby="{{element.iderror}}"
|
||||||
{{/error}}
|
{{/error}}
|
||||||
{{{element.attributes}}} >{{element.value}}</textarea>
|
{{{element.attributes}}} >{{element.value}}</textarea>
|
||||||
{{/element.frozen}}
|
{{/element.frozen}}
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
value="{{element.value}}"
|
value="{{element.value}}"
|
||||||
size="{{element.size}}"
|
size="{{element.size}}"
|
||||||
{{#error}}
|
{{#error}}
|
||||||
autofocus aria-describedby="id_error_{{element.name}}"
|
autofocus aria-describedby="{{element.iderror}}"
|
||||||
{{/error}}
|
{{/error}}
|
||||||
{{#element.frozen}}
|
{{#element.frozen}}
|
||||||
readonly {{#element.hardfrozen}}disabled{{/element.hardfrozen}}
|
readonly {{#element.hardfrozen}}disabled{{/element.hardfrozen}}
|
||||||
|
|
|
@ -4593,8 +4593,7 @@ EOD;
|
||||||
// The id will be something like 'fgroup_id_NAME'. E.g. fgroup_id_mygroup.
|
// The id will be something like 'fgroup_id_NAME'. E.g. fgroup_id_mygroup.
|
||||||
$elementcontext['wrapperid'] = $elementcontext['id'];
|
$elementcontext['wrapperid'] = $elementcontext['id'];
|
||||||
|
|
||||||
// Ensure group elements pass through the group name as the element name so the id_error_{{element.name}} is
|
// Ensure group elements pass through the group name as the element name.
|
||||||
// properly set in the template.
|
|
||||||
$elementcontext['name'] = $elementcontext['groupname'];
|
$elementcontext['name'] = $elementcontext['groupname'];
|
||||||
} else {
|
} else {
|
||||||
// Non grouped element.
|
// Non grouped element.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue