Я написал свой собственный класс Validator несколькими разными способами. Валидация в природе не обязательно требует создания экземпляра объекта, поэтому я создал класс со статическими методами для проверки. Я использовал один метод валидатора, в котором вы должны передать тип (например, Email, Имя, веб-сайт ...) или несколько методов для каждого из указанных типов. В конце концов, мне нужен только один алгоритм, поэтому я выбрал один метод. По сути, существуют свойства класса для хранения регулярных выражений проверки для каждого типа, а также связанное с ним сообщение об ошибке для данного типа. Все это соответствует классу, подобному следующему:
class Validation
{
// define the properties for dealing with different type validations
public static $firstNamePattern = '/[-a-zA-Z0-9._ ]{2,}/';
public static $lastNamePattern = '/[-a-zA-Z0-9._ ]{2,}/';
// ... more fields
public static function validateText($type, $text, $fieldName)
{
$pattern = $type."Pattern";
if ($this->$pattern != '')
{
// perfom the validation
// ...
return true; // or false
}
}
// other validation methods below
// ...
}
Затем вы можете вызывать этот метод из любого места (например, при проверке ввода формы).
if (Validation->validateText('firstName', $formFirstName, 'First Name'))
{
// validation passed
}
else
{
// validation failed
}
Я прошу прощения за то, что выше написано на PHP, и вопрос был о ASP, но вы меня поняли.