Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Setting a character limit on a text field (single line)

Andy Keyworth
Contributor
February 22, 2016

What mechanism can I use to set a maximum number of characters on a single line text field?

4 answers

2 votes
SABVARX
Contributor
May 17, 2016

Hi Andy,

many thanks for sharing your script here! It actually helped me a lot.

Your script is working in my customers JIRA (still on version 6.2.5): If the field contains more than 33 char and I click the "update" button on the edit screen, the error message pop-up is shown.

I adapted the call of the EventListener for our purpose: Now the listener is listening for events on the field itself instead of the "update" button and throws the error immediately if the field contains more than 33 char (keypress event instead of click event).

Just changed the line:

document.getElementById("edit-issue-submit").addEventListener("click", validate);

to:

document.getElementById("customfield_19600").addEventListener("keypress", validate);

Regards, Sabrina

1 vote
Andy Keyworth
Contributor
February 23, 2016

OK, so after a lot of experimenting with JavaScript, I decided to embed the following into the Description field:

<script type="text/javascript">
function validate()
    {   
        if(document.getElementById("customfield_19600").value.length >33)
        {
            alert( "Invalid length, must be no more than 33 characters" );
            return false;
        }   
    }
document.getElementById("edit-issue-submit").addEventListener("click", validate);
</script>

Unfortunately, it never works. I can get the JS to work on test forms OUTSIDE of JIRA. But there's something I'm missing to get it working in the ticket "Edit" screen. Anyone have any suggestions?

I think that simple JS validation in the Description field is really helpful for people unfamiliar with Groovy (Script Runner), but I'm surprised how little I'm finding on it.

 

0 votes
Andy Keyworth
Contributor
February 22, 2016

I guess it will have to be JavaScript; I don't have access to the templates, and don't want to do it for every field, anyway. I'll have a look at the ScriptRunner. Thanks!

0 votes
Nic Brough -Adaptavist-
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
February 22, 2016

Hack in some javascript, or change the template from 254 down (that will affect all short-text fields unless you start putting "if"s into the code).  Or, I think Behaviours in the Script runner can do it.

Suggest an answer

Log in or Sign up to answer