From 39eb5e9eed408206f8cb541d2d49ed4b3257b7b4 Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Mon, 29 Aug 2016 10:54:30 +0000 Subject: [PATCH] Bug 17213 - Add HTML5 validation to cardnumber field on patron self registration To test: Verify that different values in 'CardnumberLength' system preference display correctly in the self reigstration form --- .../bootstrap/en/modules/opac-memberentry.tt | 19 +++++++++++++++++-- opac/opac-memberentry.pl | 8 ++++++++ 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-memberentry.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-memberentry.tt index 638808f..cafa5d1 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-memberentry.tt +++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-memberentry.tt @@ -133,8 +133,23 @@ [% IF borrower && !(cardnumber_wrong_length || cardnumber_already_exists) %] [% borrower.cardnumber %] [% ELSE %] - - [% IF mandatory.defined('cardnumber') %]Required[% END %] + [% IF minlength_cardnumber == maxlength_cardnumber %] + + [% IF ( mandatory.defined('cardnumber') ) %]Required[% END %] +
Card number must be exactly [% minlength_cardnumber %] characters.
+ [% ELSIF minlength_cardnumber && maxlength_cardnumber %] + + [% IF ( mandatory.defined('cardnumber') ) %]Required[% END %] +
Card number must be between [% minlength_cardnumber %] and [% maxlength_cardnumber %] characters.
+ [% ELSIF maxlength_cardnumber %] + + [% IF ( mandatory.defined('cardnumber') ) %]Required[% END %] +
Card number can be up to [% maxlength_cardnumber %] characters.
+ [% ELSE %] + + [% IF ( mandatory.defined('cardnumber') ) %]Required[% END %] +
There is no minimum or maximum character length.
+ [% END %] [% END %] [% END %] diff --git a/opac/opac-memberentry.pl b/opac/opac-memberentry.pl index 1a5bac4..0058b87 100755 --- a/opac/opac-memberentry.pl +++ b/opac/opac-memberentry.pl @@ -66,6 +66,14 @@ if ( $action eq q{} ) { my $mandatory = GetMandatoryFields($action); +my ( $min, $max ) = C4::Members::get_cardnumber_length(); +if ( defined $min ) { + $template->param( + minlength_cardnumber => $min, + maxlength_cardnumber => $max + ); + } + $template->param( action => $action, hidden => GetHiddenFields( $mandatory, 'registration' ), -- 2.1.4