Drop Down

Saturday, September 21, 2019

Spring_App_20_Data_Validation

package com.amit.beans;

public class User
{
private String uname;
private String updw;
private String user;
private String umobile;
private String uemail;

public String getUname()
{
return uname;
}
public void setUname(String uname)
{
this.uname = uname;
}
public String getUpdw()
{
return updw;
}
public void setUpdw(String updw)
{
this.updw = updw;
}
public String getUser()
{
return user;
}
public void setUser(String user)
{
this.user = user;
}
public String getUmobile()
{
return umobile;
}
public void setUmobile(String umobile)
{
this.umobile = umobile;
}
public String getUemail()
{
return uemail;
}
public void setUemail(String uemail)
{
this.uemail = uemail;
}

public void getUserDetails()
{
System.out.println("--------------USer Details------------");
System.out.println("User Name: "+uname);
System.out.println("User password: "+updw);
System.out.println("User UserName: "+user);
System.out.println("User Mobile: "+umobile);
System.out.println("User Email: "+uemail);

}

}

======================================================================
package com.amit.test;

import java.util.HashMap;
import java.util.List;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.validation.MapBindingResult;
import org.springframework.validation.ObjectError;

import com.amit.beans.User;
import com.amit.validators.UserValidator;

public class Test {

public static void main(String[] args) 
{
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
User user = (User) context.getBean("userbean");
user.getUserDetails();
 
UserValidator userValidator = (UserValidator) context.getBean("userValidatorBean");
HashMap<String,String> map = new HashMap<String,String>();
MapBindingResult results = new MapBindingResult(map,"com.amit.beans.User");
userValidator.validate(user, results);
List<ObjectError> list = results.getAllErrors();
for(ObjectError err : list)
{
System.out.println(err.getDefaultMessage());
}

}

=====================================================================

package com.amit.validators;

import java.io.IOException;
import java.util.Properties;

import org.springframework.core.io.Resource;
import org.springframework.core.io.support.PropertiesLoaderUtils;
import org.springframework.validation.Errors;
import org.springframework.validation.Validator;

import com.amit.beans.User;

public class UserValidator implements Validator 
{
private Resource resource;  // to make available property file resorce here
public Resource getResource() {
return resource;
}

public void setResource(Resource resource) {
this.resource = resource;
}
@Override
public boolean supports(Class type) 
{
return User.class.equals(type);
}

@Override
public void validate(Object obj, Errors error) 
{
User user = (User)obj;
try 
{
Properties p = (Properties) PropertiesLoaderUtils.loadProperties(resource);
if(user.getUname() == null || user.getUname().equals(""))
{
  error.rejectValue("uname", "error.uname.required" , p.getProperty("error.uname.required"));
}
catch (IOException e) 
{
e.printStackTrace();
}

}

}

======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd">
        
        <bean id= "userbean"  class = "com.amit.beans.User">
        <property name = "uname" value = ""></property>
        <property name = "updw" value = "pass@123"></property>
        <property name = "user" value = "manjhi"></property>
        <property name = "umobile" value = "8744973456"></property>
        <property name = "uemail" value = "amit@gmail.com"></property>
        </bean>
        
        <bean id="userValidatorBean" class = "com.amit.validators.UserValidator">
        <property name="resource" value="Messages.properties"></property>
        </bean>
        
</beans>        
================================Messages.properties========================

error.uname.required = UserName is Required

No comments:

Post a Comment

Java 8 Notes Pics