Example usage for org.springframework.validation BindException hasFieldErrors

List of usage examples for org.springframework.validation BindException hasFieldErrors

Introduction

In this page you can find the example usage for org.springframework.validation BindException hasFieldErrors.

Prototype

@Override
    public boolean hasFieldErrors(String field) 

Source Link

Usage

From source file:org.springmodules.validation.bean.BeanValidatorIntegrationTests.java

public void testBeanValidator_WithManualConfiguration() throws Exception {

    // creating the validation configuration for the bean.
    DefaultBeanValidationConfiguration personValidationConfiguration = new DefaultBeanValidationConfiguration();
    personValidationConfiguration/*from w  w w.j av a 2 s  .  c o m*/
            .addGlobalRule(new DefaultValidationRule(Conditions.minLength("name", 4), "minLength"));
    personValidationConfiguration.addPropertyRule("name",
            new DefaultValidationRule(Conditions.minLength("name", 5), "minLength"));
    SimpleBeanValidationConfigurationLoader loader = new SimpleBeanValidationConfigurationLoader();
    loader.setClassValidation(Person.class, personValidationConfiguration);

    BeanValidator validator = new BeanValidator();
    validator.setErrorCodeConverter(new ModelAwareErrorCodeConverter());
    validator.setConfigurationLoader(loader);

    Person person = new Person("Uri");
    BindException errors = new BindException(person, "person");

    validator.validate(person, errors);

    assertTrue(errors.hasFieldErrors("name"));
    assertTrue(errors.hasGlobalErrors());
    assertEquals(1, errors.getFieldErrorCount("name"));
    assertEquals(1, errors.getGlobalErrorCount());
    assertEquals("Person[minLength]", errors.getGlobalError().getCode());
    assertEquals("Person.name[minLength]", errors.getFieldError("name").getCode());

}

From source file:org.springmodules.validation.bean.BeanValidatorIntegrationTests.java

public void testBeanValidator_WithNonNullNullableValue() throws Exception {
    ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
            "org/springmodules/validation/bean/beanValidator-tests.xml");

    Person person = new Person("Uri");
    person.setPhone("1234"); // should be validation error - length < 7
    BindException errors = new BindException(person, "person");

    Validator validator = (Validator) context.getBean("validator");
    validator.validate(person, errors);//from  w  w  w  . j av a  2 s  . com

    assertTrue(errors.hasFieldErrors("phone"));
    assertEquals(1, errors.getFieldErrorCount("phone"));
    assertEquals("Person.phone[min.length]", errors.getFieldError("phone").getCode());
}

From source file:org.springmodules.validation.bean.conf.loader.xml.DefaultXmlBeanValidationConfigurationLoaderIntegrationTests.java

public void testShortCircuiteValidationEnabled() throws Exception {
    DefaultXmlBeanValidationConfigurationLoader loader = createLoader("TestBean3.vld.xml");
    BeanValidator validator = new BeanValidator(loader);

    TestBean bean = new TestBean();
    BindException errors = new BindException(bean, "bean");
    validator.validate(bean, errors);//from w  w w.  j ava 2 s  .  c  om

    assertTrue(errors.hasErrors());
    assertTrue(errors.hasFieldErrors("name"));
    assertEquals(1, errors.getFieldErrorCount("name"));
    assertTrue(ArrayUtils.contains(errors.getFieldError("name").getCodes(), "TestBean.name[not.null]"));
}

From source file:org.springmodules.validation.bean.conf.loader.xml.DefaultXmlBeanValidationConfigurationLoaderIntegrationTests.java

public void testValidationBean_WhenDeployedInApplicationContext() throws Exception {
    ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("appCtxt.xml", getClass());
    DefaultXmlBeanValidationConfigurationLoader loader = createLoader("TestBean1.vld.xml", context);

    BeanValidator validator = new BeanValidator(loader);

    TestBean bean = new TestBean();
    BindException errors = new BindException(bean, "bean");
    validator.validate(bean, errors);/*from  www . j  a v  a 2 s  . c om*/
    assertTrue(errors.hasErrors());
    assertTrue(errors.hasFieldErrors("name"));

    bean = new TestBean("name");
    errors = new BindException(bean, "bean");
    validator.validate(bean, errors);
    assertFalse(errors.hasErrors());
}

From source file:org.springmodules.validation.bean.conf.loader.xml.DefaultXmlBeanValidationConfigurationLoaderIntegrationTests.java

public void testConditionBean_WhenDeployedInApplicationContext() throws Exception {
    ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("appCtxt.xml", getClass());
    DefaultXmlBeanValidationConfigurationLoader loader = createLoader("TestBean2.vld.xml", context);

    BeanValidator validator = new BeanValidator(loader);

    TestBean bean = new TestBean();
    BindException errors = new BindException(bean, "bean");
    validator.validate(bean, errors);/*from   w  ww .  j a va2s .c  o m*/
    assertTrue(errors.hasErrors());
    assertTrue(errors.hasFieldErrors("name"));
    assertEquals("TestBean.name[test.bean.condition]", errors.getFieldError("name").getCode());

    bean = new TestBean("name");
    errors = new BindException(bean, "bean");
    validator.validate(bean, errors);
    assertFalse(errors.hasErrors());
}

From source file:org.springmodules.validation.bean.conf.loader.xml.DefaultXmlBeanValidationConfigurationLoaderIntegrationTests.java

public void testShortCircuiteValidationDisabled() throws Exception {
    DefaultXmlBeanValidationConfigurationLoader loader = createLoader("TestBean3.vld.xml");
    BeanValidator validator = new BeanValidator(loader);
    validator.setShortCircuitFieldValidation(false);

    TestBean bean = new TestBean();
    BindException errors = new BindException(bean, "bean");
    validator.validate(bean, errors);/* w ww .  j  a va 2 s  .  co m*/

    assertTrue(errors.hasErrors());
    assertTrue(errors.hasFieldErrors("name"));
    assertEquals(2, errors.getFieldErrorCount("name"));
    List fieldErrors = errors.getFieldErrors("name");
    assertTrue(ArrayUtils.contains(((FieldError) fieldErrors.get(0)).getCodes(), "TestBean.name[not.null]"));
    assertTrue(ArrayUtils.contains(((FieldError) fieldErrors.get(1)).getCodes(), "TestBean.name[not.null.2]"));

}

From source file:org.springmodules.validation.bean.conf.loader.xml.DefaultXmlBeanValidationConfigurationLoaderIntegrationTests.java

public void testValidateWithContext() throws Exception {
    DefaultXmlBeanValidationConfigurationLoader loader = createLoader("PersonWithContext.vld.xml");
    BeanValidationConfiguration config = loader.loadConfiguration(Person.class);
    assertEquals(2, config.getGlobalRules().length);

    BeanValidator validator = new BeanValidator(loader);

    Person person = new Person();
    person.setFirstName("Uri");
    person.setLastName("Boness");
    person.setAge(-1);//from w w w. j a  va2 s  .  c  om
    person.setEmail("uri@b");
    person.setPassword("pa");
    person.setConfirmPassword("pa1");

    ValidationContextUtils.setContext("ctx1");

    BindException errors = new BindException(person, "person");
    validator.validate(person, errors);

    assertEquals(1, errors.getGlobalErrorCount());
    assertFalse(errors.hasFieldErrors("smallInteger"));
    assertEquals(1, errors.getFieldErrorCount("lastName"));

    ValidationContextUtils.clearContext();

    ValidationContextUtils.setContext("ctx2");

    errors = new BindException(person, "person");
    validator.validate(person, errors);

    assertEquals(1, errors.getGlobalErrorCount());
    assertEquals(1, errors.getFieldErrorCount("smallInteger"));
    assertEquals(1, errors.getFieldErrorCount("lastName"));
    assertEquals("Person.lastName[validateLastNameIsLongerThanTen()]",
            errors.getFieldError("lastName").getCode());

    ValidationContextUtils.clearContext();

}

From source file:cherry.foundation.type.format.CustomNumberFormatTest.java

@Test
public void testByte() throws BindException {
    String name = "byteValue";
    assertEquals("44", parseAndPrint(name, "44"));
    assertEquals("44", parseAndPrint(name, "44.4444"));
    assertEquals("55", parseAndPrint(name, "55"));
    assertEquals("55", parseAndPrint(name, "55.5555"));
    assertEquals("-44", parseAndPrint(name, "-44"));
    assertEquals("-44", parseAndPrint(name, "-44.4444"));
    assertEquals("-55", parseAndPrint(name, "-55"));
    assertEquals("-55", parseAndPrint(name, "-55.5555"));
    try {/*  w w  w .  j a  v  a 2 s .  c  o m*/
        parseAndPrint(name, "aaa");
        fail("Exception must be thrown");
    } catch (BindException ex) {
        assertEquals(1, ex.getErrorCount());
        assertTrue(ex.hasFieldErrors(name));
        assertEquals("typeMismatch", ex.getFieldError(name).getCode());
    }
}

From source file:cherry.foundation.type.format.CustomNumberFormatTest.java

@Test
public void testShort() throws BindException {
    String name = "shortValue";
    assertEquals("4444", parseAndPrint(name, "4444"));
    assertEquals("4444", parseAndPrint(name, "4444.4444"));
    assertEquals("5555", parseAndPrint(name, "5555"));
    assertEquals("5555", parseAndPrint(name, "5555.5555"));
    assertEquals("-4444", parseAndPrint(name, "-4444"));
    assertEquals("-4444", parseAndPrint(name, "-4444.4444"));
    assertEquals("-5555", parseAndPrint(name, "-5555"));
    assertEquals("-5555", parseAndPrint(name, "-5555.5555"));
    try {/* w ww .j a  v a  2 s  . co  m*/
        parseAndPrint(name, "aaa");
        fail("Exception must be thrown");
    } catch (BindException ex) {
        assertEquals(1, ex.getErrorCount());
        assertTrue(ex.hasFieldErrors(name));
        assertEquals("typeMismatch", ex.getFieldError(name).getCode());
    }
}

From source file:cherry.foundation.type.format.CustomNumberFormatTest.java

@Test
public void testInteger() throws BindException {
    String name = "integerValue";
    assertEquals("4444", parseAndPrint(name, "4444"));
    assertEquals("4444", parseAndPrint(name, "4444.4444"));
    assertEquals("5555", parseAndPrint(name, "5555"));
    assertEquals("5555", parseAndPrint(name, "5555.5555"));
    assertEquals("-4444", parseAndPrint(name, "-4444"));
    assertEquals("-4444", parseAndPrint(name, "-4444.4444"));
    assertEquals("-5555", parseAndPrint(name, "-5555"));
    assertEquals("-5555", parseAndPrint(name, "-5555.5555"));
    try {//from   w w  w .  ja  v  a 2s.c  o  m
        parseAndPrint(name, "aaa");
        fail("Exception must be thrown");
    } catch (BindException ex) {
        assertEquals(1, ex.getErrorCount());
        assertTrue(ex.hasFieldErrors(name));
        assertEquals("typeMismatch", ex.getFieldError(name).getCode());
    }
}