@ -750,7 +750,7 @@ public final class CustomPropertyEditorRegistrar implements PropertyEditorRegist
@@ -750,7 +750,7 @@ public final class CustomPropertyEditorRegistrar implements PropertyEditorRegist
</section>
</section>
<sectionid="core.convert">
<sectionid="core-convert">
<title>Spring 3 Type Conversion</title>
<para>
Spring 3 introduces a <filename>core.convert</filename> package that provides a general type conversion system.
@ -983,7 +983,7 @@ public class MyService {
@@ -983,7 +983,7 @@ public class MyService {
<sectionid="format">
<title>Spring 3 Field Formatting</title>
<para>
As discussed in the previous section, <linklinkend="core.convert"><filename>core.convert</filename></link> is a general-purpose type conversion system.
As discussed in the previous section, <linklinkend="core-convert"><filename>core.convert</filename></link> is a general-purpose type conversion system.
It provides a unified ConversionService API as well as a strongly-typed Converter SPI for implementing conversion logic from one type to another.
A Spring Container uses this system to bind bean property values.
In addition, both the Spring Expression Language (SpEL) and DataBinder use this system to bind field values.
@ -1152,7 +1152,7 @@ public class MyModel {
@@ -1152,7 +1152,7 @@ public class MyModel {
}]]>
</programlisting>
<sectionid="format.annotations.api">
<sectionid="format-annotations-api">
<title>Format Annotation API</title>
<para>
A portable format annotation API exists in the <filename>org.springframework.format.annotation</filename> package.
@ -1259,7 +1259,7 @@ public interface FormatterRegistry {
@@ -1259,7 +1259,7 @@ public interface FormatterRegistry {
</para>
</section>
</section>
<sectionid="validation.beanvalidation">
<sectionid="validation-beanvalidation">
<title>Spring 3 Validation</title>
<para>
Spring 3 introduces several enhancements to its validation support.
@ -1267,7 +1267,7 @@ public interface FormatterRegistry {
@@ -1267,7 +1267,7 @@ public interface FormatterRegistry {
Second, when used programatically, Spring's DataBinder can now validate objects as well as bind to them.
Third, Spring MVC now has support for declaratively validating @Controller inputs.
</para>
<sectionid="validation.beanvalidation.overview">
<sectionid="validation-beanvalidation-overview">
<title>Overview of the JSR-303 Bean Validation API</title>
<para>
JSR-303 standardizes validation constraint declaration and metadata for the Java platform.
@ -1306,7 +1306,7 @@ public class PersonForm {
@@ -1306,7 +1306,7 @@ public class PersonForm {
To learn how to setup a JSR-303 implementation as a Spring bean, keep reading.
</para>
</section>
<sectionid="validation.beanvalidation.spring">
<sectionid="validation-beanvalidation-spring">
<title>Configuring a Bean Validation Implementation</title>
<para>
Spring provides full support for the JSR-303 Bean Validation API.
@ -1323,7 +1323,7 @@ public class PersonForm {
@@ -1323,7 +1323,7 @@ public class PersonForm {
The basic configuration above will trigger JSR-303 to initialize using its default bootstrap mechanism.
A JSR-303 provider, such as Hibernate Validator, is expected to be present in the classpath and will be detected automatically.
<classname>LocalValidatorFactoryBean</classname> implements both <code>javax.validation.Validator</code> and <code>org.springframework.validation.Validator</code>.
@ -1355,7 +1355,7 @@ public class MyService {
@@ -1355,7 +1355,7 @@ public class MyService {
Each JSR-303 validation constraint consists of two parts.
@ -1391,7 +1391,7 @@ public class MyConstraintValidator implements ConstraintValidator {
@@ -1391,7 +1391,7 @@ public class MyConstraintValidator implements ConstraintValidator {
As you can see, a ConstraintValidator implementation may have its dependencies @Autowired like any other Spring bean.
The default <classname>LocalValidatorFactoryBean</classname> configuration should prove sufficient for most cases.
@ -1400,7 +1400,7 @@ public class MyConstraintValidator implements ConstraintValidator {
@@ -1400,7 +1400,7 @@ public class MyConstraintValidator implements ConstraintValidator {
</para>
</section>
</section>
<sectionid="validation.binder">
<sectionid="validation-binder">
<title>Configuring a DataBinder</title>
<para>
Since Spring 3, a DataBinder instance can be configured with a Validator.
To trigger validation of a @Controller input, simply annotate the input argument as @Valid:
@ -1450,7 +1450,7 @@ public class MyController {
@@ -1450,7 +1450,7 @@ public class MyController {
</para>
</note>
</section>
<sectionid="validation.mvc.configuring">
<sectionid="validation-mvc-configuring">
<title>Configuring a Validator for use by Spring MVC</title>
<para>
The Validator instance invoked when a @Valid method argument is encountered may be configured in two ways.
@ -1492,7 +1492,7 @@ public class MyController {
@@ -1492,7 +1492,7 @@ public class MyController {
]]>
</programlisting>
</section>
<sectionid="validation.mvc.jsr303">
<sectionid="validation-mvc-jsr303">
<title>Configuring a JSR-303 Validator for use by Spring MVC</title>
<para>
With JSR-303, a single <code>javax.validation.Validator</code> instance typically validates <emphasis>all</emphasis> model objects that declare validation constraints.