我已经用几种不同的方法编写了自己的Validator类。本质上的验证不一定需要实例化的对象,所以我创建了一个具有静态方法的类来进行验证。我已经使用了一种验证器方法,您必须在其中输入类型(例如,电子邮件,名字,网站...)或给定类型的多个方法。最后,实际上我只需要一种算法,所以我采用了一种方法。本质上,有一些类属性可以为每种类型保存验证正则表达式,以及给定类型的关联错误消息。这一切都等同于类似下面的一个类:
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,但你明白我的意思。