validation.EventLogValidator.java Source code

Java tutorial

Introduction

Here is the source code for validation.EventLogValidator.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package validation;

import org.springframework.validation.Errors;
import org.springframework.validation.ValidationUtils;
import org.springframework.validation.Validator;
import org.springframework.stereotype.Component;

import objects.EventLog;
import java.util.logging.Logger;
//regex import kept for validation purposes
import java.util.regex.Pattern;

/**
 *
 * @author Carter
 * Event Log Validator, for validating requirements of Event Log form input fields
 */
@Component
public class EventLogValidator implements Validator {
    private static Logger logger = Logger.getLogger(EventLogValidator.class.getName());
    //method connects form inputs to POJO variables

    /**
     * Allows linkage of validator to EventLog POJO and EventLogController.
     * @param classy
     * @return
     */
    @Override
    public boolean supports(Class<?> classy) {
        return EventLog.class.isAssignableFrom(classy);
    }
    //validates input fields, based on requirements set in messages.properties

    /**
     * Validates various fields for an EventLog object
     * @param target
     * @param errors
     */
    @Override
    public void validate(Object target, Errors errors) {
        ValidationUtils.rejectIfEmptyOrWhitespace(errors, "clientid", "event.clientid.required");
        ValidationUtils.rejectIfEmptyOrWhitespace(errors, "userid", "event.userid.required");
        ValidationUtils.rejectIfEmptyOrWhitespace(errors, "clientFirstName", "event.firstName.required");
        ValidationUtils.rejectIfEmptyOrWhitespace(errors, "clientLastName", "event.lastName.required");
        ValidationUtils.rejectIfEmptyOrWhitespace(errors, "username", "event.username.required");
        ValidationUtils.rejectIfEmptyOrWhitespace(errors, "interaction", "event.interaction.required");
        ValidationUtils.rejectIfEmptyOrWhitespace(errors, "date", "event.date.required");

        EventLog eventlog = (EventLog) target;
        if (eventlog.getClientFirstName() != null && eventlog.getClientFirstName().length() > 60) {
            errors.rejectValue("clientFirstName", "event.firstName.length");
        }
        if (eventlog.getClientFirstName() != null
                && !eventlog.getClientFirstName().matches("^[A-Z]'?[- a-zA-Z]([a-zA-Z])*$")) {
            errors.rejectValue("clientFirstName", "event.firstName.pattern");
        }
        if (eventlog.getClientLastName() != null && eventlog.getClientLastName().length() > 60) {
            errors.rejectValue("clientLastName", "event.lastName.length");
        }
        if (eventlog.getClientLastName() != null
                && !eventlog.getClientLastName().matches("^[A-Z]'?[- a-zA-Z]([a-zA-Z])*$")) {
            errors.rejectValue("clientLastName", "event.lastName.pattern");
        }
        if (eventlog.getUsername() != null && eventlog.getUsername().length() > 60) {
            errors.rejectValue("username", "event.username.length");
        }
        if (eventlog.getUsername() != null
                && !eventlog.getUsername().matches("^[a-zA-Z0-9]+([_ -]?[a-zA-Z0-9])*$")) {
            errors.rejectValue("username", "event.username.pattern");
        }
        if (eventlog.getDate() != null && !eventlog.getDate().matches("[0-9]{1,2}/[0-9]{1,2}/[0-9]{2,4}")) {
            errors.rejectValue("date", "event.date.pattern");
        }
    }

}