Practical String Validation
Overview of String Validation
String validation is a critical process in Java programming to ensure data integrity, security, and proper formatting. LabEx developers must master various validation techniques to handle user inputs and data processing effectively.
Basic Validation Techniques
1. Null and Empty Check
public class StringValidator {
public static boolean isValidString(String input) {
// Check for null and empty strings
return input != null && !input.trim().isEmpty();
}
}
2. Length Validation
public static boolean validateLength(String input, int minLength, int maxLength) {
return input.length() >= minLength && input.length() <= maxLength;
}
Regular Expression Validation
Common Validation Patterns
Pattern Type |
Regex Example |
Use Case |
Email |
^[A-Za-z0-9+_.-]+@(.+)$ |
Email validation |
Phone Number |
^\d{10}$ |
10-digit phone number |
Alphanumeric |
^[a-zA-Z0-9]+$ |
Only letters and numbers |
Regex Validation Example
import java.util.regex.Pattern;
public class RegexValidator {
public static boolean isValidEmail(String email) {
String emailRegex = "^[A-Za-z0-9+_.-]+@(.+)$";
return Pattern.matches(emailRegex, email);
}
}
Advanced Validation Workflow
graph TD
A[Input String] --> B{Null Check}
B -->|Null| C[Reject]
B -->|Not Null| D{Length Check}
D -->|Invalid Length| E[Reject]
D -->|Valid Length| F{Regex Validation}
F -->|Invalid Format| G[Reject]
F -->|Valid Format| H[Accept]
Comprehensive Validation Method
public class CompleteStringValidator {
public static boolean validateInput(String input) {
// Comprehensive validation
return isNotNull(input) &&
hasValidLength(input, 5, 50) &&
isAlphanumeric(input);
}
private static boolean isNotNull(String input) {
return input != null && !input.trim().isEmpty();
}
private static boolean hasValidLength(String input, int min, int max) {
return input.length() >= min && input.length() <= max;
}
private static boolean isAlphanumeric(String input) {
return input.matches("^[a-zA-Z0-9]+$");
}
}
Validation Strategies
- Always validate user inputs
- Use multiple validation checks
- Provide clear error messages
- Sanitize inputs before processing
Common Validation Scenarios
- Form submissions
- User registration
- Data import processes
- Configuration parameter validation
Error Handling Approach
public class InputProcessor {
public static void processInput(String input) {
try {
if (!CompleteStringValidator.validateInput(input)) {
throw new IllegalArgumentException("Invalid input");
}
// Process valid input
} catch (IllegalArgumentException e) {
System.err.println("Validation Error: " + e.getMessage());
}
}
}
Key Takeaways
- Implement multiple validation layers
- Use regex for complex pattern matching
- Handle edge cases and potential exceptions
- Balance between strict validation and user experience