FormValidator::Simple::Plugin::Space

全角スペースとかスペースのみとか判定.さしあたって必要だから書いてみたけど,実は既にどこかにあったりして.

そもそも UTF-8 前提なあたりで手を抜いてる感が.あと ZSP とかいいつつ半角でもヒットする(はず)だし.

package FormValidator::Simple::Plugin::Space;

use strict;
use warnings;
use FormValidator::Simple::Constants;

use version; our $VERSION = qv('0.1.0');

*ZSPACE = \&ZSP;
sub ZSP {
    my ($self, $params, $args) = @_;
    my $data = $params->[0] || '';
    utf8::decode($data) unless utf8::is_utf8($data);
    return $data =~ /\p{Zs}/ ? TRUE : FALSE;
}

*SPACE_ALL = \&SP_ALL;
sub SP_ALL {
    my ($self, $params, $args) = @_;
    my $data = $params->[0] || '';
    utf8::decode($data) unless utf8::is_utf8($data);
    return $data =~ /^\p{IsSpace}+$/ ? TRUE : FALSE;
}

1;