Revision 4be32a52
Von Moritz Bunkus vor fast 7 Jahren hinzugefügt
SL/DATEV/CSV.pm | ||
---|---|---|
228 | 228 |
max_length => 15, |
229 | 229 |
type => 'Text', |
230 | 230 |
default => '', |
231 |
input_check => sub { my ($check) = @_; return ($check eq '' || $check =~ m/[A-Z]{2}\w{5,13}/) }, |
|
231 |
input_check => sub { |
|
232 |
my ($ustid) = @_; |
|
233 |
return 1 if ('' eq $ustid); |
|
234 |
$ustid =~ s{\s+}{}g; |
|
235 |
return ($ustid =~ m/^CH|^[A-Z]{2}\w{5,13}$/); |
|
236 |
}, |
|
232 | 237 |
formatter => sub { my ($input) = @_; $input =~ s/\s//g; return $input }, |
233 | 238 |
valid_check => sub { |
234 | 239 |
my ($ustid) = @_; |
Auch abrufbar als: Unified diff
DATEV: `input_check` für UStID an `formatter`+`valid_check` angepasst
Die Kombination aus `formatter`+`valid_check` kann UStIDs richtig
behandeln, die Leerzeichen enthalten. Daher muss der vorher laufende
`input_check` Leerzeichen ebenfalls ignorieren.
Weiterhin muss der `input_check` auch das gleiche Format erlauben, das
`valid_check` später auch erlaubt — bezogen auf verschiedene Formate
in verschiedenen Ländern. So enhält z.B. der `valid_check` eine
Ausnahme für die Schweiz, für die nur erforderlich ist, dass die UStID
mit `CH` beginnt. Der `input_check` hingegen hat weiterhin darauf
bestanden, dass dahinter zwischen fünf und 13 Wortzeichen kommen.