Unable validate DTO object using @Valid annotation Play 1.4.1

64 views
Skip to first unread message

Akash Gupta

unread,
Apr 28, 2016, 10:56:37 AM4/28/16
to play-framework
Hi,

I m using playframework 1.4 and stuck in problem to validate user data which comes from a form

as scenario 

test.html
<form id="addOrgForm" name="addOrgForm" method="post">
<input type="text" id="orgUnitName" name="orgUnitName" value="${(dtoOrganizationMaster?.orgUnitName)?:flash['orgUnitName']}"/>
<span class="error">#{error 'dtoOrganizationMaster.orgName' /}</span>
<input type="text" id="orgEmail" name="orgEmail" value="${(dtoOrganizationMaster?.orgEmail)?:flash['orgEmail']}"/>
<span class="error">#{error 'dtoOrganizationMaster.orgEmailAddress' /}</span>
<button class="btn btn-success" type="submit" id="sendButton">
<i class="fa fa-save fa-fw"></i>Submit</button>
</form>
<script>
    $(document).ready(function(){
$('#sendButton').on('click',function (event) {
$('#addOrgForm').attr('action','saveOrgUnit');
$('#addOrgForm').attr('method','POST');
var formData=$('#addOrgForm').serialize();
$('#addOrgForm').submit();
});

});
</script>

in my controller
org.java
action
public static test(Long id){render();}
public static void
saveOrgUnit(){
Map<String, String[]> form = params.all();
DTOOrganizationMaster dtoOrganizationMaster= new DTOOrganizationMaster();
dtoOrganizationMaster.setOrgEmail(form.get("orgEmail")[0]);
dtoOrganizationMaster.setOrgName(form.get("orgUnitName")[0]);
if(!isValidate(dtoOrganizationMaster)){
Logger.info("Flag value is false-----------------------------------");
test(null);
}
}
public  static boolean isValidate(@Valid DTOOrganizationMaster dtoOrganizationMaster) {
boolean flag=true;
if (validation.hasErrors()) {
flag=false;
params.flash(); // add http parameters to the flash scope
validation.keep(); // keep the errors for the next request
addOrgUnit(null);
}
return flag;
}
in my DTOOrganizationMaster.java


public class DTOOrganizationMaster{@Required
public String orgName;
@Required
public String orgEmail;
}

SO Thing is that when i do these type of validation it does't work but when i use saveOrgUnit(@Valid DTOOrganizationMaster dtoOrganizationMaster)
it will work and throw error and keep persist old data on the form field ,but as per my requirement more field  comes with different name and its not matched with DTO class so in middle i have to provide them value as well as 
put in DTO object and sent for validation .which is currently not working



please provide me solution to how to validate field using these above flow of program


Thanks  




Reply all
Reply to author
Forward
0 new messages