Basic Validation
Learn how to perform simple validation checks using Validixty's direct validation methods.
What is Basic Validation?
Basic validation in Validixty allows you to quickly validate individual data points using static methods. This approach is perfect for simple validation scenarios where you need immediate results without complex setup.
Why Use Basic Validation?
- Simplicity: Single method calls for validation
- Speed: Direct validation without object instantiation
- Clarity: Clear, readable validation code
- Flexibility: Use anywhere in your application
Before Using Validixty
Without Validixty, you might write custom validation logic like this:
// Manual phone number validation
public bool IsValidPhoneNumber(string phone)
{
if (string.IsNullOrEmpty(phone)) return false;
// Complex regex pattern for Egyptian phone numbers
var pattern = "^(\\+20|0)?1[0-2,5]\\\\d{8}$";
return Regex.IsMatch(phone, pattern);
}
// Manual email validation
public bool IsValidEmail(string email)
{
if (string.IsNullOrEmpty(email)) return false;
// Basic email regex (not comprehensive)
var pattern = "^[^@\\\\s]+@[^@\\\\s]+\\\\.[^@\\\\s]+$";
return Regex.IsMatch(email, pattern);
}
// Manual credit card validation
public bool IsValidCreditCard(string cardNumber)
{
if (string.IsNullOrEmpty(cardNumber) || cardNumber.Length < 13) return false;
// Luhn algorithm implementation
int sum = 0;
bool alternate = false;
for (int i = cardNumber.Length - 1; i >= 0; i--)
{
if (!char.IsDigit(cardNumber[i])) return false;
int digit = cardNumber[i] - '0';
if (alternate)
{
digit *= 2;
if (digit > 9) digit -= 9;
}
sum += digit;
alternate = !alternate;
}
return sum % 10 == 0;
}
After Using Validixty
With Validixty, validation becomes much simpler:
using Validixty.Core;
// Phone number validation
bool isValid = Validation.Personal.PhoneNumber.Valid(x => x.Country == CountriesEnum.Egypt, "+201234567890");
// Email validation
bool isEmailValid = Validation.Communication.EmailAddress.IsValid("user@example.com");
// Credit card validation
bool isCardValid = Validation.Finance.CreditCard.IsValid("5500000000000004");
How It Saves Time
- Eliminates boilerplate: No need to write regex patterns or algorithms
- Reduces errors: Pre-tested validation logic
- Improves maintainability: Centralized validation rules
- Country-specific support: Built-in international formats
Usage Examples
Phone Number Validation
// Egyptian phone number
bool egyptValid = Validation.Personal.PhoneNumber.Valid(x => x.Country == CountriesEnum.Egypt, "+201234567890");
// US phone number
bool usValid = Validation.Personal.PhoneNumber.Valid(x => x.Country == CountriesEnum.USA, "+1-555-123-4567");
// Saudi phone number
bool saudiValid = Validation.Personal.PhoneNumber.Valid(x => x.Country == CountriesEnum.SaudiArabia, "+966501234567");
Email Validation
bool email1 = Validation.Communication.EmailAddress.IsValid("user@example.com");
bool email2 = Validation.Communication.EmailAddress.IsValid("test.email+tag@domain.co.uk");
bool email3 = Validation.Communication.EmailAddress.IsValid("invalid-email"); // false
Credit Card Validation
// Visa
bool visaValid = Validation.Finance.CreditCard.IsValid("4111111111111111");
// MasterCard
bool mastercardValid = Validation.Finance.CreditCard.IsValid("5500000000000004");
// American Express
bool amexValid = Validation.Finance.CreditCard.IsValid("378282246310005");
IBAN Validation
bool ibanValid = Validation.Finance.IBAN.IsValid("GB29 NWBK 6016 1331 9268 19");
URL Validation
bool urlValid = Validation.Communication.Website.IsValid("https://www.example.com");
bool imageUrlValid = Validation.Media.ImageUrl.IsValid("https://example.com/image.jpg");