Skip to content

Commit

Permalink
Major Commit: Added code for saving the Immigration details informati…
Browse files Browse the repository at this point in the history
…on and validations for Immigration details page.
  • Loading branch information
mahi-mullapudi committed Sep 12, 2018
1 parent e229c61 commit 0ba6489
Show file tree
Hide file tree
Showing 5 changed files with 52 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -104,4 +104,12 @@ public class ApplicationConstants implements Serializable {
.put("monthly", "Monthly")
.build();

public static final Map<String, String> immiStatusMap = ImmutableMap.<String, String>builder()
.put("CPT", "CPT")
.put("OPT", "OPT")
.put("H1B", "H1B")
.put("GREENCARD", "GREENCARD")
.put("CITIZEN", "CITIZEN")
.build();

}
Original file line number Diff line number Diff line change
Expand Up @@ -249,4 +249,9 @@ public Map<String, String> invoiceFrequencyMap() {
return ApplicationConstants.invoiceFrequencyMap;
}

@ModelAttribute("immiStatusMap")
public Map<String, String> immigrtationStatusMap() {
return ApplicationConstants.immiStatusMap;
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -2,31 +2,50 @@

import com.tutorialq.entities.ImmigrationDetail;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.validation.Errors;
import org.springframework.validation.ValidationUtils;
import org.springframework.validation.Validator;

import java.math.BigDecimal;

@Component
@Slf4j
public class ImmigrationDetailsValidator implements Validator {

@Autowired
EmailValidator emailValidator;
@Autowired
PhoneNumberValidator phoneValidator;

@Override
public boolean supports(Class<?> clazz) {
return ImmigrationDetail.class.equals(clazz);
}

/*
* This validate() method checks for all the validations related to Registration Information.
* This validate() method checks for all the validations related to Immigration Details.
*/
@Override
public void validate(Object target, Errors errors) {

ValidationUtils.rejectIfEmptyOrWhitespace(errors, "currentStatus", "NotEmpty.immigration.currentStatus");

ImmigrationDetail immigrationDetail = (ImmigrationDetail) target;

BigDecimal currentWage = immigrationDetail.getCurrentWage();
if (currentWage.compareTo(BigDecimal.ZERO) == 0) {
errors.rejectValue("currentWage", "NotEmpty.immigration.currentWage");
} else {
if (currentWage.compareTo(BigDecimal.valueOf(40000)) < 0
|| currentWage.compareTo(BigDecimal.valueOf(300000)) > 0) {
errors.rejectValue("currentWage", "NotValid.immigration.currentWage");
}
}

if (immigrationDetail.getStartDate() == null) {
errors.rejectValue("startDate", "NotEmpty.immigration.startDate");
}

if (immigrationDetail.getEndDate() == null) {
errors.rejectValue("endDate", "NotEmpty.immigration.endDate");
}

}

}
6 changes: 6 additions & 0 deletions src/main/resources/messages.properties
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,12 @@ NotEmpty.clientDetails.vendorEmail=Please enter Vendor Email Address.
NotEmpty.clientDetails.invoiceFrequency=Please select Invoice Frequency.
NotValid.clientDetails.email=Email is not valid. Please enter a valid Email Address.
NotValid.clientDetails.phoneNum=Please enter a valid Phone Number.
### Immigration Details Page Validation Messages###
NotEmpty.immigration.currentStatus=Please select a valid Immigration Status.
NotEmpty.immigration.currentWage=Please enter your current wage.
NotValid.immigration.currentWage=Please enter a valid Wage.
NotEmpty.immigration.startDate=Please enter a valid Start Date for Current Status.
NotEmpty.immigration.endDate=Please enter a valid End Date for Current Status.
### Login page Empty Messages ###
NotEmpty.login.email=Please enter a valid Email Address.
NotEmpty.login.password=Please enter your password.
Expand Down
13 changes: 7 additions & 6 deletions src/main/webapp/WEB-INF/jsp/staff/immigrationDetails.jsp
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@
<div class="row">

<spring:bind path="currentStatus">
<div class="form-group col-md-6 ${status.error ? 'has-danger' : ''} snears-vendor-info">
<div class="form-group required col-md-6 ${status.error ? 'has-danger' : ''} snears-vendor-info">
<label class="form-control-label" for="currentStatus">Current
Status</label>
<div class="inputGroupContainer">
Expand All @@ -137,7 +137,8 @@
data-animation="false"
class="form-control ${status.error ? 'form-control-danger' : ''}"
id="currentStatus">
<form:option value="" label=""/>
<form:option value="" label="---SELECT---"/>
<form:options items="${immiStatusMap}"/>
</form:select>
<div class="form-control-feedback">
<form:errors path="currentStatus"/>
Expand All @@ -153,7 +154,7 @@
<div class="inputGroupContainer">
<form:input path="receiptNumber" maxlength="100"
id="receiptNumber"
placeholder="Client Address"
placeholder="Receipt Number"
data-toggle="tooltip"
data-animation="false"
class="form-control ${status.error ? 'form-control-danger' : ''}"/>
Expand Down Expand Up @@ -183,7 +184,7 @@
</spring:bind>

<spring:bind path="currentWage">
<div class="form-group col-md-6 ${status.error ? 'has-danger' : ''}">
<div class="form-group required col-md-6 ${status.error ? 'has-danger' : ''}">
<label class="form-control-label" for="currentWage">Current
Wage</label>
<div class="inputGroupContainer">
Expand All @@ -198,7 +199,7 @@
</spring:bind>

<spring:bind path="startDate">
<div class="form-group col-md-6 ${status.error ? 'has-danger' : ''}">
<div class="form-group required col-md-6 ${status.error ? 'has-danger' : ''}">
<label class="form-control-label" for="startDate">Start
Date</label>
<div class="inputGroupContainer">
Expand All @@ -213,7 +214,7 @@
</spring:bind>

<spring:bind path="endDate">
<div class="form-group col-md-6 ${status.error ? 'has-danger' : ''}">
<div class="form-group required col-md-6 ${status.error ? 'has-danger' : ''}">
<label class="form-control-label" for="endDate">End
Date</label>
<div class="inputGroupContainer">
Expand Down

0 comments on commit 0ba6489

Please sign in to comment.