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

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


The following commit(s) were added to refs/heads/asf-staging by this push:
     new e87b120c87 Updates stage by Jenkins
e87b120c87 is described below

commit e87b120c8721894d1904f5caf0e55392d496a795
Author: jenkins <[email protected]>
AuthorDate: Sun Oct 25 08:59:37 2026 +0000

    Updates stage by Jenkins
---
 content/core-developers/annotations.html           |   4 +
 content/core-developers/date-validator.html        |   2 +
 content/core-developers/default-properties.html    |   5 +
 ...cal-date-range-field-validator-annotation.html} | 140 ++++++++++++---------
 ...ate-validator.html => localdate-validator.html} |  53 ++++----
 content/core-developers/validation.html            |   1 +
 .../core-developers/validations-annotation.html    |   5 +
 7 files changed, 128 insertions(+), 82 deletions(-)

diff --git a/content/core-developers/annotations.html 
b/content/core-developers/annotations.html
index de94ea2a34..547d19faa2 100644
--- a/content/core-developers/annotations.html
+++ b/content/core-developers/annotations.html
@@ -338,6 +338,10 @@ to your interceptor stack.</p>
       <td><a 
href="int-range-field-validator-annotation">IntRangeFieldValidator 
Annotation</a></td>
       <td>Checks that a numeric field has a value within a specified 
range.</td>
     </tr>
+    <tr>
+      <td><a 
href="local-date-range-field-validator-annotation">LocalDateRangeFieldValidator 
Annotation</a></td>
+      <td>Checks that a <code class="language-plaintext 
highlighter-rouge">LocalDate</code> field has a value within a specified 
range.</td>
+    </tr>
     <tr>
       <td><a href="regex-field-validator-annotation">RegexFieldValidator 
Annotation</a></td>
       <td>Validates a regular expression for a field.</td>
diff --git a/content/core-developers/date-validator.html 
b/content/core-developers/date-validator.html
index d99dd5a998..77c7bdbd2e 100644
--- a/content/core-developers/date-validator.html
+++ b/content/core-developers/date-validator.html
@@ -164,6 +164,8 @@
 
 <p>Field Validator that checks if the date supplied is within a specific 
range.</p>
 
+<p>For a <code class="language-plaintext 
highlighter-rouge">java.time.LocalDate</code> property use the <a 
href="localdate-validator">localdate validator</a> instead.</p>
+
 <blockquote>
   <p>NOTE: If no date converter is specified, <code class="language-plaintext 
highlighter-rouge">XWorkBasicConverter</code> will kick in to do the date 
conversion, which 
 by default using the <code class="language-plaintext 
highlighter-rouge">Date.SHORT</code> format using the specified locale else 
falling back to the system default locale.</p>
diff --git a/content/core-developers/default-properties.html 
b/content/core-developers/default-properties.html
index d2a2676d44..da990d3768 100644
--- a/content/core-developers/default-properties.html
+++ b/content/core-developers/default-properties.html
@@ -524,6 +524,11 @@ struts.ognl.expressionMaxLength=256
 ### These formatters are using a slightly different patterns, please check 
JavaDocs of both and more details is in WW-5016
 struts.date.formatter=dateTimeFormatter
 
+### When true, ISO date-times converted to java.util.Date honour their offset, 
so a trailing Z means UTC
+### (e.g. 2026-10-25T05:14:42.000Z from JavaScript's Date.toISOString()). 
Defaults to false, which reads
+### the Z as server-local time.
+struts.converter.date.isoOffsetAware=false
+
 ### Defines which instance of QueryStringBuilder to use, Struts provides just 
one instance:
 ### - strutsQueryStringBuilder
 ### The builder is used by UrlHelp to create a proper Query String out of 
provided parameters map
diff --git a/content/core-developers/date-validator.html 
b/content/core-developers/local-date-range-field-validator-annotation.html
similarity index 60%
copy from content/core-developers/date-validator.html
copy to content/core-developers/local-date-range-field-validator-annotation.html
index d99dd5a998..257ed20237 100644
--- a/content/core-developers/date-validator.html
+++ b/content/core-developers/local-date-range-field-validator-annotation.html
@@ -7,7 +7,7 @@
   <meta http-equiv="Content-Language" content="en"/>
   <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
 
-  <title>date validator</title>
+  <title>LocalDateRangeFieldValidator Annotation</title>
 
   <link href="/css/source-sans-pro.css" rel="stylesheet" type="text/css">
   <link href="/css/font-awesome.css" rel="stylesheet">
@@ -148,74 +148,102 @@
 
 <article class="container">
   <section class="col-md-12">
-    <a class="edit-on-gh" 
href="https://github.com/apache/struts-site/edit/main/source/core-developers/date-validator.md";
 title="Edit this page on GitHub">Edit on GitHub</a>
+    <a class="edit-on-gh" 
href="https://github.com/apache/struts-site/edit/main/source/core-developers/local-date-range-field-validator-annotation.md";
 title="Edit this page on GitHub">Edit on GitHub</a>
     
-    <a href="validation.html" title="back to Validation"><< back to 
Validation</a>
+    <a href="annotations.html" title="back to Annotations"><< back to 
Annotations</a>
     
-    <h1 class="no_toc" id="date-validator">date validator</h1>
+    <h1 
id="localdaterangefieldvalidator-annotation">LocalDateRangeFieldValidator 
Annotation</h1>
 
-<ul id="markdown-toc">
-  <li><a href="#description" id="markdown-toc-description">Description</a></li>
-  <li><a href="#parameters" id="markdown-toc-parameters">Parameters</a></li>
-  <li><a href="#examples" id="markdown-toc-examples">Examples</a></li>
-</ul>
+<blockquote>
+  <p>Since Struts 7.5.0</p>
+</blockquote>
 
-<h2 id="description">Description</h2>
+<p>This validator checks that a <code class="language-plaintext 
highlighter-rouge">java.time.LocalDate</code> field has a value within a 
specified range, both bounds
+inclusive. It is the annotation form of the <a 
href="localdate-validator">localdate validator</a>; use the
+<a href="date-range-field-validator-annotation">DateRangeFieldValidator 
Annotation</a> for a <code class="language-plaintext 
highlighter-rouge">java.util.Date</code> field.</p>
 
-<p>Field Validator that checks if the date supplied is within a specific 
range.</p>
+<h2 id="usage">Usage</h2>
 
-<blockquote>
-  <p>NOTE: If no date converter is specified, <code class="language-plaintext 
highlighter-rouge">XWorkBasicConverter</code> will kick in to do the date 
conversion, which 
-by default using the <code class="language-plaintext 
highlighter-rouge">Date.SHORT</code> format using the specified locale else 
falling back to the system default locale.</p>
-</blockquote>
+<p>The annotation must be applied at method level.</p>
 
 <h2 id="parameters">Parameters</h2>
 
-<ul>
-  <li><code class="language-plaintext highlighter-rouge">fieldName</code> - 
The field name this validator is validating. Required if using Plain-Validator 
Syntax otherwise not required.</li>
-  <li><code class="language-plaintext highlighter-rouge">min</code> - the min 
date range. If not specified will not be checked.</li>
-  <li><code class="language-plaintext highlighter-rouge">max</code> - the max 
date range. If not specified will not be checked.</li>
-  <li><code class="language-plaintext highlighter-rouge">parse</code> - if set 
to true, minExpression and maxExpression will be evaluated to find min/max.</li>
-  <li><code class="language-plaintext highlighter-rouge">minExpression</code> 
- expression to calculate the minimum value (if none is specified, it will not 
be checked).</li>
-  <li><code class="language-plaintext highlighter-rouge">maxExpression</code> 
- expression to calculate the maximum value (if none is specified, it will not 
be checked).</li>
-</ul>
+<p> <table class="confluenceTable" summary="">
+ <tr>
+ <th class="confluenceTh"> Parameter </th>
+ <th class="confluenceTh"> Required </th>
+ <th class="confluenceTh"> Default </th>
+ <th class="confluenceTh"> Notes </th>
+ </tr>
+ <tr>
+ <td class="confluenceTd">message</td>
+ <td class="confluenceTd">yes</td>
+ <td class="confluenceTd">&nbsp;</td>
+ <td class="confluenceTd">field error message</td>
+ </tr>
+ <tr>
+ <td class="confluenceTd">key</td>
+ <td class="confluenceTd">no</td>
+ <td class="confluenceTd">&nbsp;</td>
+ <td class="confluenceTd">i18n key from language specific properties file.</td>
+ </tr>
+ <tr>
+ <td class="confluenceTd">messageParams</td>
+ <td class="confluenceTd">no</td>
+ <td class="confluenceTd">&nbsp;</td>
+ <td class="confluenceTd">Additional params to be used to customize message - 
will be evaluated against the Value Stack</td>
+ </tr>
+ <tr>
+ <td class="confluenceTd">fieldName</td>
+ <td class="confluenceTd">no</td>
+ <td class="confluenceTd">&nbsp;</td>
+ <td class="confluenceTd">&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="confluenceTd">shortCircuit</td>
+ <td class="confluenceTd">no</td>
+ <td class="confluenceTd">false</td>
+ <td class="confluenceTd">If this validator should be used as 
shortCircuit.</td>
+ </tr>
+ <tr>
+ <td class="confluenceTd">type</td>
+ <td class="confluenceTd">yes</td>
+ <td class="confluenceTd">ValidatorType.FIELD</td>
+ <td class="confluenceTd">Enum value from ValidatorType. Either FIELD or 
SIMPLE can be used here.</td>
+ </tr>
+ <tr>
+ <td class="confluenceTd"> min </td>
+ <td class="confluenceTd"> no </td>
+ <td class="confluenceTd">&nbsp;</td>
+ <td class="confluenceTd"> ISO date (yyyy-MM-dd).  The minimum the date must 
be. </td>
+ </tr>
+ <tr>
+ <td class="confluenceTd">minExpression</td>
+ <td class="confluenceTd">no</td>
+ <td class="confluenceTd">&nbsp;</td>
+ <td class="confluenceTd">OGNL expression used to obtain the minimum the date 
must be.</td>
+ </tr>
+ <tr>
+ <td class="confluenceTd"> max </td>
+ <td class="confluenceTd"> no </td>
+ <td class="confluenceTd">&nbsp;</td>
+ <td class="confluenceTd"> ISO date (yyyy-MM-dd).  The maximum date can be. 
</td>
+ </tr>
+ <tr>
+ <td class="confluenceTd">maxExpression</td>
+ <td class="confluenceTd">no</td>
+ <td class="confluenceTd">&nbsp;</td>
+ <td class="confluenceTd">OGNL expression used to obtain the maximum date can 
be.</td>
+ </tr>
+ </table>
+</p>
 
-<p>You can either use the <code class="language-plaintext 
highlighter-rouge">min</code> / <code class="language-plaintext 
highlighter-rouge">max</code> value or <code class="language-plaintext 
highlighter-rouge">minExpression</code> / <code class="language-plaintext 
highlighter-rouge">maxExpression</code> (when <code class="language-plaintext 
highlighter-rouge">parse</code> is set to <code class="language-plaintext 
highlighter-rouge">true</code>) - 
-using expression can be slightly slower, see the example below.</p>
-
-<blockquote>
-  <p>Warning: Do not use <code class="language-plaintext 
highlighter-rouge">${minExpression}</code> and <code class="language-plaintext 
highlighter-rouge">${maxExpression}</code> as an expression as this will turn 
into infinitive loop!</p>
-</blockquote>
+<p>If neither <code class="language-plaintext highlighter-rouge">min</code> 
nor <code class="language-plaintext highlighter-rouge">max</code> is set, 
nothing will be done. A <code class="language-plaintext 
highlighter-rouge">min</code> or <code class="language-plaintext 
highlighter-rouge">max</code> that is not an ISO date fails when the
+validators are built, not when a request is validated.</p>
 
 <h2 id="examples">Examples</h2>
 
-<div class="language-xml highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code><span class="nt">&lt;validators&gt;</span>
-    <span class="c">&lt;!-- Plain Validator syntax --&gt;</span>
-    <span class="nt">&lt;validator</span> <span class="na">type=</span><span 
class="s">"date"</span><span class="nt">&gt;</span>
-        <span class="nt">&lt;param</span> <span class="na">name=</span><span 
class="s">"fieldName"</span><span class="nt">&gt;</span>birthday<span 
class="nt">&lt;/param&gt;</span>
-        <span class="nt">&lt;param</span> <span class="na">name=</span><span 
class="s">"min"</span><span class="nt">&gt;</span>01/01/1990<span 
class="nt">&lt;/param&gt;</span>
-        <span class="nt">&lt;param</span> <span class="na">name=</span><span 
class="s">"max"</span><span class="nt">&gt;</span>01/01/2000<span 
class="nt">&lt;/param&gt;</span>
-        <span class="nt">&lt;message&gt;</span>Birthday must be within ${min} 
and ${max}<span class="nt">&lt;/message&gt;</span>
-    <span class="nt">&lt;/validator&gt;</span>
- 
-    <span class="c">&lt;!-- Field Validator Syntax --&gt;</span>
-    <span class="nt">&lt;field</span> <span class="na">name=</span><span 
class="s">"birthday"</span><span class="nt">&gt;</span>
-        <span class="nt">&lt;field-validator</span> <span 
class="na">type=</span><span class="s">"date"</span><span class="nt">&gt;</span>
-            <span class="nt">&lt;param</span> <span 
class="na">name=</span><span class="s">"min"</span><span 
class="nt">&gt;</span>01/01/1990<span class="nt">&lt;/param&gt;</span>
-            <span class="nt">&lt;param</span> <span 
class="na">name=</span><span class="s">"max"</span><span 
class="nt">&gt;</span>01/01/2000<span class="nt">&lt;/param&gt;</span>
-            <span class="nt">&lt;message&gt;</span>Birthday must be within 
${min} and ${max}<span class="nt">&lt;/message&gt;</span>
-        <span class="nt">&lt;/field-validator&gt;</span>
-    <span class="nt">&lt;/field&gt;</span>
- 
-    <span class="c">&lt;!-- Field Validator Syntax with expression 
--&gt;</span>
-    <span class="nt">&lt;field</span> <span class="na">name=</span><span 
class="s">"birthday"</span><span class="nt">&gt;</span>
-        <span class="nt">&lt;field-validator</span> <span 
class="na">type=</span><span class="s">"date"</span><span class="nt">&gt;</span>
-            <span class="nt">&lt;param</span> <span 
class="na">name=</span><span class="s">"minExpression"</span><span 
class="nt">&gt;</span>${minValue}<span class="nt">&lt;/param&gt;</span> <span 
class="c">&lt;!-- will be evaluated as: Date getMinValue() --&gt;</span>
-            <span class="nt">&lt;param</span> <span 
class="na">name=</span><span class="s">"maxExpression"</span><span 
class="nt">&gt;</span>${maxValue}<span class="nt">&lt;/param&gt;</span> <span 
class="c">&lt;!-- will be evaluated as: Date getMaxValue() --&gt;</span>
-            <span class="nt">&lt;message&gt;</span>Age needs to be between 
${min} and ${max}<span class="nt">&lt;/message&gt;</span>
-        <span class="nt">&lt;/field-validator&gt;</span>
-    <span class="nt">&lt;/field&gt;</span>
-<span class="nt">&lt;/validators&gt;</span>
+<div class="language-java highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code> <span 
class="nd">@LocalDateRangeFieldValidator</span><span class="o">(</span><span 
class="n">message</span> <span class="o">=</span> <span class="s">"Default 
message"</span><span class="o">,</span> <span class="n">key</span> <span 
class="o">=</span> <span class="s">"i18n.key"</span><span class="o">,</span> 
<span class="n">shortCircuit</span> <span class="o">=</span> <span 
class="kc">true</sp [...]
 </code></pre></div></div>
 
   </section>
diff --git a/content/core-developers/date-validator.html 
b/content/core-developers/localdate-validator.html
similarity index 84%
copy from content/core-developers/date-validator.html
copy to content/core-developers/localdate-validator.html
index d99dd5a998..9cc5532952 100644
--- a/content/core-developers/date-validator.html
+++ b/content/core-developers/localdate-validator.html
@@ -7,7 +7,7 @@
   <meta http-equiv="Content-Language" content="en"/>
   <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
 
-  <title>date validator</title>
+  <title>localdate validator</title>
 
   <link href="/css/source-sans-pro.css" rel="stylesheet" type="text/css">
   <link href="/css/font-awesome.css" rel="stylesheet">
@@ -148,11 +148,11 @@
 
 <article class="container">
   <section class="col-md-12">
-    <a class="edit-on-gh" 
href="https://github.com/apache/struts-site/edit/main/source/core-developers/date-validator.md";
 title="Edit this page on GitHub">Edit on GitHub</a>
+    <a class="edit-on-gh" 
href="https://github.com/apache/struts-site/edit/main/source/core-developers/localdate-validator.md";
 title="Edit this page on GitHub">Edit on GitHub</a>
     
     <a href="validation.html" title="back to Validation"><< back to 
Validation</a>
     
-    <h1 class="no_toc" id="date-validator">date validator</h1>
+    <h1 class="no_toc" id="localdate-validator">localdate validator</h1>
 
 <ul id="markdown-toc">
   <li><a href="#description" id="markdown-toc-description">Description</a></li>
@@ -160,29 +160,28 @@
   <li><a href="#examples" id="markdown-toc-examples">Examples</a></li>
 </ul>
 
+<blockquote>
+  <p>Since Struts 7.5.0</p>
+</blockquote>
+
 <h2 id="description">Description</h2>
 
-<p>Field Validator that checks if the date supplied is within a specific 
range.</p>
+<p>Field Validator that checks if a <code class="language-plaintext 
highlighter-rouge">java.time.LocalDate</code> is within a specific range, both 
bounds inclusive. 
+Use the <a href="date-validator">date validator</a> for a <code 
class="language-plaintext highlighter-rouge">java.util.Date</code> property; on 
a <code class="language-plaintext highlighter-rouge">LocalDate</code> property 
it fails with 
+a <code class="language-plaintext 
highlighter-rouge">ClassCastException</code>.</p>
 
-<blockquote>
-  <p>NOTE: If no date converter is specified, <code class="language-plaintext 
highlighter-rouge">XWorkBasicConverter</code> will kick in to do the date 
conversion, which 
-by default using the <code class="language-plaintext 
highlighter-rouge">Date.SHORT</code> format using the specified locale else 
falling back to the system default locale.</p>
-</blockquote>
+<p>A <code class="language-plaintext highlighter-rouge">null</code> value is 
not checked, add a <a href="required-validator">required validator</a> if the 
field must be filled in.</p>
 
 <h2 id="parameters">Parameters</h2>
 
 <ul>
   <li><code class="language-plaintext highlighter-rouge">fieldName</code> - 
The field name this validator is validating. Required if using Plain-Validator 
Syntax otherwise not required.</li>
-  <li><code class="language-plaintext highlighter-rouge">min</code> - the min 
date range. If not specified will not be checked.</li>
-  <li><code class="language-plaintext highlighter-rouge">max</code> - the max 
date range. If not specified will not be checked.</li>
-  <li><code class="language-plaintext highlighter-rouge">parse</code> - if set 
to true, minExpression and maxExpression will be evaluated to find min/max.</li>
+  <li><code class="language-plaintext highlighter-rouge">min</code> - the min 
date as an ISO date (<code class="language-plaintext 
highlighter-rouge">yyyy-MM-dd</code>). If not specified will not be 
checked.</li>
+  <li><code class="language-plaintext highlighter-rouge">max</code> - the max 
date as an ISO date (<code class="language-plaintext 
highlighter-rouge">yyyy-MM-dd</code>). If not specified will not be 
checked.</li>
   <li><code class="language-plaintext highlighter-rouge">minExpression</code> 
- expression to calculate the minimum value (if none is specified, it will not 
be checked).</li>
   <li><code class="language-plaintext highlighter-rouge">maxExpression</code> 
- expression to calculate the maximum value (if none is specified, it will not 
be checked).</li>
 </ul>
 
-<p>You can either use the <code class="language-plaintext 
highlighter-rouge">min</code> / <code class="language-plaintext 
highlighter-rouge">max</code> value or <code class="language-plaintext 
highlighter-rouge">minExpression</code> / <code class="language-plaintext 
highlighter-rouge">maxExpression</code> (when <code class="language-plaintext 
highlighter-rouge">parse</code> is set to <code class="language-plaintext 
highlighter-rouge">true</code>) - 
-using expression can be slightly slower, see the example below.</p>
-
 <blockquote>
   <p>Warning: Do not use <code class="language-plaintext 
highlighter-rouge">${minExpression}</code> and <code class="language-plaintext 
highlighter-rouge">${maxExpression}</code> as an expression as this will turn 
into infinitive loop!</p>
 </blockquote>
@@ -191,33 +190,35 @@ using expression can be slightly slower, see the example 
below.</p>
 
 <div class="language-xml highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code><span class="nt">&lt;validators&gt;</span>
     <span class="c">&lt;!-- Plain Validator syntax --&gt;</span>
-    <span class="nt">&lt;validator</span> <span class="na">type=</span><span 
class="s">"date"</span><span class="nt">&gt;</span>
+    <span class="nt">&lt;validator</span> <span class="na">type=</span><span 
class="s">"localdate"</span><span class="nt">&gt;</span>
         <span class="nt">&lt;param</span> <span class="na">name=</span><span 
class="s">"fieldName"</span><span class="nt">&gt;</span>birthday<span 
class="nt">&lt;/param&gt;</span>
-        <span class="nt">&lt;param</span> <span class="na">name=</span><span 
class="s">"min"</span><span class="nt">&gt;</span>01/01/1990<span 
class="nt">&lt;/param&gt;</span>
-        <span class="nt">&lt;param</span> <span class="na">name=</span><span 
class="s">"max"</span><span class="nt">&gt;</span>01/01/2000<span 
class="nt">&lt;/param&gt;</span>
+        <span class="nt">&lt;param</span> <span class="na">name=</span><span 
class="s">"min"</span><span class="nt">&gt;</span>1990-01-01<span 
class="nt">&lt;/param&gt;</span>
+        <span class="nt">&lt;param</span> <span class="na">name=</span><span 
class="s">"max"</span><span class="nt">&gt;</span>2000-01-01<span 
class="nt">&lt;/param&gt;</span>
         <span class="nt">&lt;message&gt;</span>Birthday must be within ${min} 
and ${max}<span class="nt">&lt;/message&gt;</span>
     <span class="nt">&lt;/validator&gt;</span>
- 
+
     <span class="c">&lt;!-- Field Validator Syntax --&gt;</span>
     <span class="nt">&lt;field</span> <span class="na">name=</span><span 
class="s">"birthday"</span><span class="nt">&gt;</span>
-        <span class="nt">&lt;field-validator</span> <span 
class="na">type=</span><span class="s">"date"</span><span class="nt">&gt;</span>
-            <span class="nt">&lt;param</span> <span 
class="na">name=</span><span class="s">"min"</span><span 
class="nt">&gt;</span>01/01/1990<span class="nt">&lt;/param&gt;</span>
-            <span class="nt">&lt;param</span> <span 
class="na">name=</span><span class="s">"max"</span><span 
class="nt">&gt;</span>01/01/2000<span class="nt">&lt;/param&gt;</span>
+        <span class="nt">&lt;field-validator</span> <span 
class="na">type=</span><span class="s">"localdate"</span><span 
class="nt">&gt;</span>
+            <span class="nt">&lt;param</span> <span 
class="na">name=</span><span class="s">"min"</span><span 
class="nt">&gt;</span>1990-01-01<span class="nt">&lt;/param&gt;</span>
+            <span class="nt">&lt;param</span> <span 
class="na">name=</span><span class="s">"max"</span><span 
class="nt">&gt;</span>2000-01-01<span class="nt">&lt;/param&gt;</span>
             <span class="nt">&lt;message&gt;</span>Birthday must be within 
${min} and ${max}<span class="nt">&lt;/message&gt;</span>
         <span class="nt">&lt;/field-validator&gt;</span>
     <span class="nt">&lt;/field&gt;</span>
- 
+
     <span class="c">&lt;!-- Field Validator Syntax with expression 
--&gt;</span>
     <span class="nt">&lt;field</span> <span class="na">name=</span><span 
class="s">"birthday"</span><span class="nt">&gt;</span>
-        <span class="nt">&lt;field-validator</span> <span 
class="na">type=</span><span class="s">"date"</span><span class="nt">&gt;</span>
-            <span class="nt">&lt;param</span> <span 
class="na">name=</span><span class="s">"minExpression"</span><span 
class="nt">&gt;</span>${minValue}<span class="nt">&lt;/param&gt;</span> <span 
class="c">&lt;!-- will be evaluated as: Date getMinValue() --&gt;</span>
-            <span class="nt">&lt;param</span> <span 
class="na">name=</span><span class="s">"maxExpression"</span><span 
class="nt">&gt;</span>${maxValue}<span class="nt">&lt;/param&gt;</span> <span 
class="c">&lt;!-- will be evaluated as: Date getMaxValue() --&gt;</span>
-            <span class="nt">&lt;message&gt;</span>Age needs to be between 
${min} and ${max}<span class="nt">&lt;/message&gt;</span>
+        <span class="nt">&lt;field-validator</span> <span 
class="na">type=</span><span class="s">"localdate"</span><span 
class="nt">&gt;</span>
+            <span class="nt">&lt;param</span> <span 
class="na">name=</span><span class="s">"minExpression"</span><span 
class="nt">&gt;</span>${minValue}<span class="nt">&lt;/param&gt;</span> <span 
class="c">&lt;!-- will be evaluated as: LocalDate getMinValue() --&gt;</span>
+            <span class="nt">&lt;param</span> <span 
class="na">name=</span><span class="s">"maxExpression"</span><span 
class="nt">&gt;</span>${maxValue}<span class="nt">&lt;/param&gt;</span> <span 
class="c">&lt;!-- will be evaluated as: LocalDate getMaxValue() --&gt;</span>
+            <span class="nt">&lt;message&gt;</span>Birthday must be within 
${min} and ${max}<span class="nt">&lt;/message&gt;</span>
         <span class="nt">&lt;/field-validator&gt;</span>
     <span class="nt">&lt;/field&gt;</span>
 <span class="nt">&lt;/validators&gt;</span>
 </code></pre></div></div>
 
+<p>The annotation equivalent is <a 
href="local-date-range-field-validator-annotation">LocalDateRangeFieldValidator 
Annotation</a>.</p>
+
   </section>
 </article>
 
diff --git a/content/core-developers/validation.html 
b/content/core-developers/validation.html
index 312080f847..ca66f144b5 100644
--- a/content/core-developers/validation.html
+++ b/content/core-developers/validation.html
@@ -231,6 +231,7 @@ to have many field-validators which is almost always the 
case.</p>
   <li><a href="expression-validator">expression validator</a></li>
   <li><a href="fieldexpression-validator">fieldexpression validator</a></li>
   <li><a href="int-validator">int validator</a></li>
+  <li><a href="localdate-validator">localdate validator</a></li>
   <li><a href="regex-validator">regex validator</a></li>
   <li><a href="required-validator">required validator</a></li>
   <li><a href="requiredstring-validator">requiredstring validator</a></li>
diff --git a/content/core-developers/validations-annotation.html 
b/content/core-developers/validations-annotation.html
index dbd5fff157..e484a82ce5 100644
--- a/content/core-developers/validations-annotation.html
+++ b/content/core-developers/validations-annotation.html
@@ -191,6 +191,11 @@
       <td>no</td>
       <td>Add list of DateRangeFieldValidators</td>
     </tr>
+    <tr>
+      <td>localDateRangeFields</td>
+      <td>no</td>
+      <td>Add list of LocalDateRangeFieldValidators (since 7.5.0)</td>
+    </tr>
     <tr>
       <td>doubleRangeFields</td>
       <td>no</td>

Reply via email to