Hi Sang,
I am getting below exception while doing - homework_spring3_mvc_form homework
--
You received this message because you are subscribed to the Google Groups "JPassion.com: Spring Framework Programming" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jpassion_spri...@googlegroups.com.
Visit this group at http://groups.google.com/group/jpassion_spring.
For more options, visit https://groups.google.com/d/optout.
--
-------------------------------------------------------------------
Sang Shin, sangshi...@gmail.com
Founder and Chief Instructor of JPassion.com (JavaPassion.com)
http://www.linkedin.com/in/javapassion (Linkedin)
http://twitter.com/javapassion (Tweeter)
Life is worth living... with Passion!
Practically Free 3 to 5 days Live, Hands-on, Online Codecamps on
Java, HTML5, Ruby/Rails, Grails, JavaScript/jQuery, Spring, Android
http://jpassion.com/codecamps
----------------------------------------------------------------------
When I set logs in Controller, for different errors in validators
1)inside haserrors------org.springframework.validation.BeanPropertyBindingResult: 1 errors
Field error in object 'dukeC' on field 'name': rejected value []; codes [required.name.dukeC.name,required.name.name,required.name.java.lang.String,required.name]; arguments []; default message [Field name is required.]
2)inside haserrors------org.springframework.validation.BeanPropertyBindingResult: 1 errors
Field error in object 'dukeC' on field 'name': rejected value [Raja]; codes [required.name.dukeC.name,required.name.name,required.name.java.lang.String,required.name]; arguments []; default message [null]
So, I changed the code as below and its working as alternative,
public class DukeValidator implements Validator{
public boolean supports(Class clazz) {//just validate the Student instancesreturn Duke.class.isAssignableFrom(clazz);}public void validate(Object target, Errors errors) {ValidationUtils.rejectIfEmptyOrWhitespace(errors, "name","required.name", "Field name is required.");ValidationUtils.rejectIfEmptyOrWhitespace(errors, "hobby","required.hobby", "Field hobby is required.");Duke cust = (Duke)target;if((cust.getName().length() < 5 || cust.getName().length() > 10)){
errors.rejectValue("name", "required.name","Name should be within 5 to 10 chars");
// added third param, ' default message' and its taking default message rather than from the message.properties.}}
here still my questions is : How to get error messages from properties ? Seems like they are not getting triggered.
ThanksRaja
On Tue, Jul 1, 2014 at 10:06 PM, RajaSekhar <prs...@gmail.com> wrote:
Sir,
I have given 'required.name.dukeCommand.name' in messages.properties but no luck.
DukeValidator code is
package com.raja.examples.hellodukes.validators;
import org.springframework.validation.Errors;import org.springframework.validation.ValidationUtils;import org.springframework.validation.Validator;
import com.raja.examples.hellodukes.domain.Duke;
public class DukeValidator implements Validator{
public boolean supports(Class clazz) {//just validate the Student instancesreturn Duke.class.isAssignableFrom(clazz);}public void validate(Object target, Errors errors) {ValidationUtils.rejectIfEmptyOrWhitespace(errors, "name","required.name", "Field name is required.");ValidationUtils.rejectIfEmptyOrWhitespace(errors, "hobby","required.hobby", "Field hobby is required.");Duke cust = (Duke)target;if((cust.getName().length() < 5 || cust.getName().length() > 10)){
errors.rejectValue("name", "required.name"); // the code is failing when this line gets executed. when I have given required.name why its not looking up for this particular message key ? . dukeCommand is messageAttribute given from Controller class. Im confused here.
}}}
Sir,I have given 'required.name.dukeCommand.name' in messages.properties but no luck.DukeValidator code is
package com.raja.examples.hellodukes.validators;import org.springframework.validation.Errors;import org.springframework.validation.ValidationUtils;import org.springframework.validation.Validator;import com.raja.examples.hellodukes.domain.Duke;public class DukeValidator implements Validator{public boolean supports(Class clazz) {//just validate the Student instancesreturn Duke.class.isAssignableFrom(clazz);}public void validate(Object target, Errors errors) {ValidationUtils.rejectIfEmptyOrWhitespace(errors, "name","required.name", "Field name is required.");ValidationUtils.rejectIfEmptyOrWhitespace(errors, "hobby","required.hobby", "Field hobby is required.");Duke cust = (Duke)target;if((cust.getName().length() < 5 || cust.getName().length() > 10)){
errors.rejectValue("name", "required.name"); // the code is failing when this line gets executed. when I have given required.name why its not looking up for this particular message key ? . dukeCommand is messageAttribute given from Controller class. Im confused here.}}}
On Tue, Jul 1, 2014 at 9:41 PM, Sang Shin <sangshi...@gmail.com> wrote: