我想使用google/yahoo ids来登录我的网站.正如它在stackoverflow中所做的那样.
任何人都可以为我提供一个起点.
我有一组字段,每个字段都有不同的验证规则集.
我已经放置了子例程引用来验证hash-ref.
目前它在我的构造函数中,但我想从私有子中的构造函数中取出它.
我做了如下
sub new {
my $class = shift;
my $self = {@_};
$class = (ref($class)) ? ref $class : $class;
bless($self, $class);
$self->{Validations} = {
Field1 => {name => sub{$self->checkField1(@_);},args => [qw(a b c)]}
Field2 => {name => sub{$self->checkField2(@_);},args => {key1, val1}}
..
..
..
..
};
return $self;
}
Run Code Online (Sandbox Code Playgroud)
现在我想从我的构造函数中取出所有这些验证规则,并希望做下面的事情,这样我就可以更好地控制基于类型字段的验证规则.(假设某些规则在一组字段中很常见并且我可以通过覆盖字段的值来覆盖其他规则的规则.)
bless($self, $class);
$self->{Validations} = $self->_getValidation($self->{type});
return $self;
}
sub _getValidation{
my ($self,$type) = @_;
my $validation = {
Field1 => {name => sub {$self->checkField1(@_);}, args => …Run Code Online (Sandbox Code Playgroud)