Есть некоторые проблемы с вашей проверкой.
Что если строка null
? Что это за строка " "
?
Для presenceCheck
лучше написать функцию:
public static boolean empty(List<String> strings) {
// Null-safe, short-circuit evaluation.
// .trim() removes the whitespace from front and back
// if anyString is null or empty or space, it will return true, else false
return strings.stream().anyMatch(s -> s == null || s.trim().isEmpty());
}
Затем вы можете вызвать ее как:
presenceCheck = empty(Arrays.asList(firstName, lastName, email);
Нет лучшего решения для вашего диапазона. За исключением удаления, например:
rangeCheck = (!(numberOfGuests < GUEST_MIN || numberOfGuests > guestMax || numberOfPets < PETS_MIN || numberOfPets > petsMax));
Недостаточно просто проверить @
в электронной почте, вы должны сделать что-то вроде:
public static final Pattern VALID_EMAIL_ADDRESS_REGEX =
Pattern.compile("^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,6}$", Pattern.CASE_INSENSITIVE);
public static boolean validateEmail(String emailStr) {
return VALID_EMAIL_ADDRESS_REGEX.matcher(emailStr).find();
}
formatCheck = validateEmail(email);