Bug 10751: standardize validation of title in staff purchase suggestions form

The form for adding a new purchase suggestion in the staff client
indicates that the title field is required but does nothing to enforce
this rule. This can be handled client-side with HTML5 validation
attributes and Koha's built-in validation plugin. This patch implements
this.

To test, apply the patch and go to Acquisitions ->
Suggestions -> New purchase suggestion. Try submitting the form without
entering a title. Doing so should trigger a validation warning.

Submission of the form with valid data should work correctly. Editing an
existing suggestion should also work correctly.

The patch displays a message 'Required' near the title field.
After submitting a empty title it changes to 'This field is required'
Signed-off-by: Marc Véron <veron@veron.ch>

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
The title field is required since commit
d565fb02e9
This one makes it more consistent with formatting. It makes sense.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This commit is contained in:
Owen Leonard 2014-02-21 09:22:50 -05:00 committed by Galen Charlton
parent c8ad1e6928
commit 59b9078a3f

View file

@ -296,7 +296,7 @@ h4.local_collapse a { font-size : 80%; text-decoration: none; } fieldset.brief o
<div id="yui-main">
<div class="yui-b">
[% IF ( op_save ) %]
<form id="add_edit" action="suggestion.pl" method="post">
<form id="add_edit" action="suggestion.pl" method="post" class="validated">
<input type="hidden" name="redirect" id="redirect" value="[% redirect %]" />
<input type="hidden" name="borrowernumber" id="borrowernumber" value="[% borrowernumber %]" />
[% IF ( suggestionid ) %]
@ -306,7 +306,11 @@ h4.local_collapse a { font-size : 80%; text-decoration: none; } fieldset.brief o
<h1>Enter a new purchase suggestion</h1>
[% END %]
<fieldset class="rows"> <legend>Bibliographic information</legend><ol>
<li><label for="title" class="required">Title:</label><input type="text" id="title" name="title" size="80" maxlength="255" value="[% title |html %]" required="required" /></li>
<li>
<label for="title" class="required">Title:</label>
<input type="text" id="title" name="title" size="80" maxlength="255" value="[% title |html %]" required="required" class="required" />
<span class="required">Required</span>
</li>
<li><label for="author">Author:</label><input type="text" id="author" name="author" size="50" maxlength="80" value="[% author %]"/></li>
<li><label for="copyrightdate">Copyright date:</label><input type="text" id="copyrightdate" name="copyrightdate" size="4" maxlength="4" value="[% copyrightdate %]" /></li>
<li><label for="isbn">ISBN or ISSN or other standard number:</label><input type="text" id="isbn" name="isbn" size="50" maxlength="80" value="[% isbn %]"/></li>