Repository navigation
WW-3624 feat(tags): allow regex matching of field names on fielderror tag - #2036
Merged
Merged
Conversation
… tag Adds a regex attribute (default false) to s:fielderror. When enabled, fieldName and nested param values are regular expressions matched against the whole field error name, e.g. to show all errors of one iterated row. Each field error is rendered once even when several patterns match it. Implemented in the simple and html5 themes and the javatemplates FieldErrorHandler. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.



Fixes WW-3624
Summary
Adds a
regexattribute (defaultfalse) to<s:fielderror>. When enabled,fieldNameand nested<s:param>values are regular expressions matched against the whole field error name, e.g. all errors of one iterated row:simpleandhtml5fielderror.ftl: in regex mode the template first collects the matching error keys, then renders them through the existing loop. The exact-match path is unchanged.FieldErrorHandler: same matching viaPattern.matcher(...).matches().regexis reset inclearTagStateForTagPoolingServers.This follows the design of the patch attached to the ticket, ported to the current templates (it only covered
simple). Prefix matching without escaping is tracked separately in WW-5784.Notes
FieldErrorHandlerwrites an empty<ul class="errorMessage"></ul>while the FreeMarker themes write nothing. Regex mode follows each renderer's existing behaviour.Test plan
FieldErrorTagTestcases forsimpleandhtml5(row match, no match, whole-name match, no duplicates, literal match withoutregex, tag-pooling reset); the matching cases failed before the template changeFieldErrorTestcases in javatemplatescore: 3490 tests, 0 failures;javatemplates: 83 tests, 0 failures🤖 Generated with Claude Code