Longtext counter field
EPrints 3 Reference: Directory Structure - Metadata Fields - Repository Configuration - XML Config Files - XML Export Format - EPrints data structure - Core API - Data Objects
Metadata Fields: Arclanguage - Base64 - Bigint - Boolean - Compound - Counter - Dataobjref - Date - Decimal - Email - Fields - Float - Id - Idci - Image - Int - Itemref - Keywords - Langid - Longtext - Longtext_counter - Multilang - Multipart - Name - Namedset - Pagerange - Recaptcha - Recaptcha3 - Relation - Search - Secret - Set - Storable - Subject - Subobject - Text - Time - Timestamp - Url - Uuid
Description
A Longtext field but with a counter for number of words used displayed next to the input field. Maximum number of words can be specified as a guide but not enforced. maxlength attribute can be used to enforce maximum number of characters as a suitable multiple (e.g. 7.5) of the maxwords.
Requires jQuery JavaScript library to be added to the archive as cfg/static/javascript/auto/directory/00_jquery.js. Tested to work with latest (v3.5.1) version of jQuery. May cause issues with existing JavaScript within EPrints.
Inheritance
Properties
As for Longtext fields with the following difference...
name | default | description |
maxwords | undefined | Can be overridden in the field definition. |
Required Phrases
No additional phrases.
Database
Longtext fields are stored in the database as
fieldname LONGTEXT
API
See API page.
Examples
Most basic example.
{ name => 'task_purpose', type => 'longtext_counter', }
Restricting maximum number of words. This will not stop user going over this amount but they will see they have exceeded the word limit.
{ name => 'task_purpose', type => 'longtext_counter', max_words => 200, }
Restricting on maximum number of words and maximum length (in characters). To prevent the user going wildly over the word limit setting a maxlength will prevent them typing over a certain number of characters. Even including spaces and punctuation, English will rarely if ever exceed 7.5 characters per word ratio used in the following example.
{ name => 'task_purpose', type => 'longtext_counter', max_words => 200, maxlength => 1500, }