sub validate_number {
my ($option, $valref) = @_;
+
$$valref = 0 unless $$valref;
return "Invalid $option"
unless ($$valref) = ($$valref =~ /^\s*(\d+)\s*$/);
return '';
}
+sub validate_number_blank {
+ my ($option, $valref) = @_;
+
+ if ($$valref) {
+ return "Invalid $option"
+ unless ($$valref) = ($$valref =~ /^\s*(\d+)\s*$/);
+ }
+ return '';
+}
+
=item check
Checks all fields to make sure this is a valid package definition. If
},
'use_cdrtypenum' => { 'name' => 'Only charge for CDRs where the CDR Type is set to this cdrtypenum: ',
- 'validate' => \&FS::part_pkg::validate_number,
- 'js_validate' => 'digits',
+ 'validate' => \&FS::part_pkg::validate_number_blank,
+ 'js_validate' => 'digits: true',
},
'ignore_cdrtypenum' => { 'name' => 'Do not charge for CDRs where the CDR Type is set to this cdrtypenum: ',
- 'validate' => \&FS::part_pkg::validate_number,
- 'js_validate' => 'digits',
+ 'validate' => \&FS::part_pkg::validate_number_blank,
+ 'js_validate' => 'digits: true',
},
'use_calltypenum' => { 'name' => 'Only charge for CDRs where the CDR Call Type is set to this calltypenum: ',
},
'use_cdrtypenum' => { 'name' => 'Only charge for CDRs where the CDR Type is set to this cdrtypenum: ',
- 'validate' => \&FS::part_pkg::validate_number,
- 'js_validate' => 'digits',
+ 'validate' => \&FS::part_pkg::validate_number_blank,
+ 'js_validate' => 'digits: true',
},
'ignore_cdrtypenum' => { 'name' => 'Do not charge for CDRs where the CDR Type is set to this cdrtypenum: ',
- 'validate' => \&FS::part_pkg::validate_number,
- 'js_validate' => 'digits',
+ 'validate' => \&FS::part_pkg::validate_number_blank,
+ 'js_validate' => 'digits: true',
},
'use_calltypenum' => { 'name' => 'Only charge for CDRs where the CDR Call Type is set to this cdrtypenum: ',
% ## set extra field values for validation. ie price plan fields
% my $extra_fields_to_validate = $opt{'extra_fields_validate'};
% my %validate_error_messages = (
-% 'digits' => 'Please only enter numbers here.',
-% 'email' => 'Please enter a valid email here.',
+% 'digits: true' => 'Please only enter numbers here.',
+% 'email: true' => 'Please enter a valid email here.',
% );
% foreach my $extra_fields (keys %$extra_fields_to_validate) {
% my $validate_type = $extra_fields_to_validate->{$extra_fields};
-% $js_form_validate->{edit_topform}->{validate_fields}{$extra_fields} = $validate_type.': true';
-% $js_form_validate->{edit_topform}->{error_message}{$extra_fields} = $validate_error_messages{$validate_type};
+% $js_form_validate->{edit_topform}->{validate_fields}{$extra_fields} = $validate_type;
+% $js_form_validate->{edit_topform}->{error_message}{$extra_fields} = $validate_error_messages{$validate_type};
% }
% unless ($opt{'embed'}) {