Back to Tutorials
Data Validation Techniques Tutorial
Lesson 1 of 2: Validation Fundamentals
Progress50%
Validation Fundamentals
Data validation ensures data integrity and security in applications. It prevents invalid data from entering your system and provides user feedback. Types of validation: • Client-side validation (user experience) • Server-side validation (security) • Schema validation (structure) • Business logic validation (rules) Validation techniques: • Type checking (string, number, boolean) • Format validation (email, phone, URL) • Range validation (min/max values) • Required field validation • Custom business rules Best practices: • Validate on both client and server • Provide clear error messages • Validate early and often • Use consistent validation patterns • Handle edge cases gracefully
Example
// Basic validation functions
function validateEmail(email) {
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
return emailRegex.test(email);
}
function validateRequired(value) {
return value !== null && value !== undefined && value.trim() !== '';
}
function validateLength(value, min, max) {
const length = value ? value.length : 0;
return length >= min && length <= max;
}
function validateNumber(value, min, max) {
const num = parseFloat(value);
return !isNaN(num) && num >= min && num <= max;
}
// Form validation example
function validateUser(user) {
const errors = {};
if (!validateRequired(user.name)) {
errors.name = 'Name is required';
} else if (!validateLength(user.name, 2, 50)) {
errors.name = 'Name must be 2-50 characters';
}
if (!validateRequired(user.email)) {
errors.email = 'Email is required';
} else if (!validateEmail(user.email)) {
errors.email = 'Invalid email format';
}
if (!validateRequired(user.age)) {
errors.age = 'Age is required';
} else if (!validateNumber(user.age, 13, 120)) {
errors.age = 'Age must be between 13 and 120';
}
return {
isValid: Object.keys(errors).length === 0,
errors
};
}
// Usage
const user = { name: 'John', email: 'john@example.com', age: '25' };
const validation = validateUser(user);
console.log(validation);Exercise
Create a validation system for a product form with: 1. Name (required, 2-100 characters) 2. Price (required, positive number) 3. Category (required, from predefined list) 4. Description (optional, max 500 characters) 5. Return validation result with errors
Lesson 1 of 2