/*
 * Copyright 2011 The Kuali Foundation
 *
 * Licensed under the Educational Community License, Version 1.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.opensource.org/licenses/ecl1.php
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.kuali.rice.kns.web.spring;

import org.kuali.rice.core.util.RiceKeyConstants;
import org.kuali.rice.kns.util.GlobalVariables;
import org.springframework.beans.PropertyAccessException;
import org.springframework.validation.BindingResult;
import org.springframework.validation.DefaultBindingErrorProcessor;

/**
 * This is a description of what this class does - pctsh don't forget to fill this in. 
 * 
 * @author Kuali Rice Team (rice.collab@kuali.org)
 *
 */
public class UifBindingErrorProcessor extends DefaultBindingErrorProcessor {
	
	public void processPropertyAccessException(PropertyAccessException ex, BindingResult bindingResult) {
		// Create field error with the exceptions's code, e.g. "typeMismatch".
		super.processPropertyAccessException(ex, bindingResult);
		Object rejectedValue = ex.getValue();
		if (!(rejectedValue == null || rejectedValue.equals(""))) {
			GlobalVariables.getMessageMap().putError(ex.getPropertyName(), RiceKeyConstants.ERROR_CUSTOM,
                new String[] {"Invalid format"});
		}
	}

}

@@ -713,24 +713,80 @@
 Constants;%0D%0A
+import org.kuali.rice.core.web.format.FormatException;%0D%0A
 import org.k
@@ -1589,16 +1589,245 @@
 %22))) %7B%0D%0A
+%09%09%09if (ex.getCause() instanceof FormatException) %7B%0D%0A%09%09%09%09GlobalVariables.getMessageMap().putError(ex.getPropertyName(), ((FormatException)ex.getCause()).getErrorKey(),%0D%0A%09%09%09%09%09%09new String%5B%5D %7BrejectedValue.toString()%7D);%0D%0A%09%09%09%7Delse%7B%0D%0A%09
 %09%09%09Globa
@@ -1920,24 +1920,14 @@
 M,%0D%0A
-                
+%09%09%09%09%09%09
 new 
@@ -1957,16 +1957,25 @@
 at%22%7D);%0D%0A
+%09%09%09%7D%09%09%09%0D%0A
 %09%09%7D%0D%0A%09%7D%0D

Change the error message for the UifBindingErrorProcessor