Add required-field support for additional careers portal inputs #677
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Note about dependency on #675
This Pull Request is currently stacked on top of #675.
The overlap is mainly about the address field:
<input>elements with a consistentid="address", including the careers portal apply templates._makeApplyValidator()assumes that<input-address>renders an element withid="address"so that<input-address req>can be validated safely.Summary
Extend
_makeApplyValidator()inmodules/careers/CareersUI.phpso more input placeholders can be configured as required via thereqmarker in the careers portal template:Motivation
OpenCATS already supports a small set of required fields in the careers portal by looking for markers like
<input-address req>in the template and generating a JavaScriptapplyValidate()function accordingly.However, a number of input placeholders were not "req-aware" and could not be configured as required fields even though they are important in real-world setups (e.g. mobile phone number or resume upload).
This Pull Request extends the existing mechanism in a backwards-compatible way so that careers portal templates can opt into stricter validation where needed by simply adding the
reqmarker to the relevant placeholders.