Longtext counter field

From EPrints Documentation
Jump to: navigation, search

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 - 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

Additional Properties

As for Longtext fields except for:

Name Default Value Required Description Notes
maxwords 500 NO Maximum number of words that should be entered into the textarea in the input form. Counter warns if word limit is exceeded but does not prevent.

Required Phrases

No additional phrases beyond those required for Longtext fields.

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,
}