This commit is contained in:
Keith Donald
2009-06-11 20:56:47 +00:00
parent f70d14e2c2
commit 75c7a7aeeb
6 changed files with 14 additions and 5 deletions

View File

@@ -21,6 +21,7 @@ import org.springframework.ui.binding.BindingResults;
import org.springframework.ui.binding.UserValues;
import org.springframework.ui.binding.support.WebBinder;
import org.springframework.ui.message.MessageContext;
import org.springframework.ui.validation.ValidateResults;
import org.springframework.ui.validation.Validator;
public class WebBindAndValidateLifecycle {
@@ -40,10 +41,11 @@ public class WebBindAndValidateLifecycle {
public void execute(Map<String, ? extends Object> userMap) {
UserValues values = binder.createUserValues(userMap);
BindingResults results = binder.bind(values);
if (validationDecider.shouldValidateAfter(results)) {
validator.validate(binder.getModel(), results.successes().properties());
BindingResults bindingResults = binder.bind(values);
if (validationDecider.shouldValidateAfter(bindingResults)) {
ValidateResults validationResults = validator.validate(binder.getModel(), bindingResults.successes().properties());
}
// TODO translate binding and validation results into messages
}
public interface ValidationDecider {

View File

@@ -46,7 +46,7 @@ public interface BindingResults extends Iterable<BindingResult> {
BindingResult get(int index);
/**
* The list of properties for which binding was attempted.
* The ordered list of properties for which a {@link BindingResult} was returned.
*/
List<String> properties();

View File

@@ -197,6 +197,7 @@ public class GenericBinder implements Binder {
}
class BindingImpl implements Binding {
private Expression property;