This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/struts-site.git


The following commit(s) were added to refs/heads/main by this push:
     new 86a4d279c WW-5740 Visitor-nested constraint messages resolve like 
validation does (#334)
86a4d279c is described below

commit 86a4d279c6358594675ef599f3a70267d1386bcf
Author: Lukasz Lenart <[email protected]>
AuthorDate: Mon Sep 14 12:20:21 2026 +0200

    WW-5740 Visitor-nested constraint messages resolve like validation does 
(#334)
    
    Co-authored-by: Claude Opus 5 (1M context) <[email protected]>
---
 source/core-developers/client-side-validation.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/source/core-developers/client-side-validation.md 
b/source/core-developers/client-side-validation.md
index eff723918..1b7157d27 100644
--- a/source/core-developers/client-side-validation.md
+++ b/source/core-developers/client-side-validation.md
@@ -75,7 +75,7 @@ an `int` or `double` validator is attached to it.
 | `date` | — | nothing yet; temporal `min`/`max` is deferred to a future 
release |
 | `email`, `url`, `creditcard` | — | never emitted |
 | `fieldexpression`, `expression`, `conversion` | — | never emitted |
-| `visitor` | — | nothing for the visitor itself; the visited object's own 
validators apply to its nested fields (`user.name`) exactly as if they were 
declared on the action |
+| `visitor` | — | nothing for the visitor itself; the visited object's own 
validators apply to its nested fields (`user.name`) exactly as if they were 
declared on the action, and their messages resolve as during validation — the 
visited class's bundle first, then the action's, with `${...}` read from the 
visited object when it exists |
 | any validator carrying a message | `data-msg-<validatorType>` | always added 
on a control that submits a value, including for validators that emit no 
constraint attribute at all; never on `<s:label>` or a control of an unknown 
`type` |
 
 Two of these conditions are easy to miss and sharply limit how often 
`required`, `minlength`/`maxlength`,

Reply via email to