Click here to Skip to main content
Licence 
First Posted 14 Apr 2004
Views 108,387
Bookmarked 31 times

Multiline Textbox Length Validator Control

By | 14 Apr 2004 | Article
A validator control that limits the number of characters allowed in a textbox when the mode is set to multiline.

Introduction

It has annoyed me for a while now that the MaxLength attribute does not work for textboxes with the TextMode property set to MultiLine. Although a CustomValidator works for this sort of validation, I wanted something that was easier and quicker to implement. I also wanted some experience of writing controls, so I decided to write my own validator.

Using the Control

The control first needs to be registered on the aspx page:

<%@ Register TagPrefix="controls" Namespace="Web.Controls" Assembly="Web.Controls" %>

It can then be added to the form:

<controls:TextLengthValidator id="ValidLength" runat="server" 
    ControlToValidate="TextBox1" MaxLength="10" DisplayCharactersEntered="true" 
    Text="String too long<br>" />

Since the control inherits from BaseValidator, it has many of the same properties as the other .NET validator controls, however there are 2 additions:

  • MaxLength
  • DisplayCharactersEntered

As you can probably guess, MaxLength is the maximum number of characters allowed in the textbox. DisplayCharactersEntered was added because of a request from my boss who wanted the number of characters the user had entered displayed along with the error message. If this property is true, the string (xx characters entered) is appended onto the end of the validator text.

The control also does client side checking on UpLevel browsers. To get this to work though, the file CheckLength.js should be placed in a folder TextLengthValidator at the root of the website. This file is included with the control source.

Conclusion

That's pretty much it for just now. I haven't added any design support, I've still to read up on that. Once I have, you may see an improved version of my little validator. In the meantime, if anyone has any comments, get in touch.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

About the Author

suzyb

Web Developer

United Kingdom United Kingdom

Member

Suzanne developed an interest in computing after watching an episode of 'Lois &amp; Clark: The New Adventures of Superman' in which a deranged megalomaniac tries to take over the world with a computer.
 
Now years later she is ready to put in place her own plan for world domination using an unrealistic virtual reality system and a bicycle helmet.

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board. (secure sign-in)
 
Search this forum  
 FAQ
    Noise  Layout  Per page   
  Refresh
QuestionLength Validator for VB Pinmemberzach_hurst3:07 11 Mar '08  
GeneralRe: Length Validator for VB Pinmembersuzyb4:24 11 Mar '08  
GeneralText Length Validator Pinmemberigon_ghost23:13 6 Aug '07  
GeneralModified PinmemberAnneAtInterpolis2:24 18 Dec '06  
Generalcustom validation Pinmemberlitson jose20:08 5 Nov '06  
Generalcustom validation Pinmemberlitson jose20:08 5 Nov '06  
Generalcustom validation Pinmemberlitson jose20:07 5 Nov '06  
Generalcustom validation Pinmemberlitson jose20:07 5 Nov '06  
Generalthanx for the article... another nice solution... PinmemberSina Falahati7:56 31 Oct '06  
GeneralError Message Pinmemberrkluth8:44 8 Feb '06  
Generalby Using Regular Expressions PinmemberUsman Shaheen0:46 12 Jul '05  
GeneralRe: by Using Regular Expressions Pinmember-- Mike11:11 11 Aug '05  
GeneralRe: by Using Regular Expressions Pinmemberreubix15:24 1 Oct '05  
GeneralRe: by Using Regular Expressions PinmemberUsman Shaheen20:34 2 Oct '05  
to accept newlines, modify the regular expression as
 
^(.|\n){0,250}$
 

HTH
 
Thanks
Usman
GeneralRe: by Using Regular Expressions PinmemberVort3xxX9:52 12 Jul '06  
Generalanother way... Pinsusssergei petrov3:41 3 Jun '05  
GeneralRe: another way... Pinmemberwalaca21:17 18 Jul '05  
GeneralRe: another way... Pinmemberjaredo8:27 25 Jul '05  
QuestionCan it work for non-VS.NET user? Pinmemberlegendgod15:58 8 Aug '04  
AnswerRe: Can it work for non-VS.NET user? PinmemberSuzanne Boyle1:40 10 Aug '04  
GeneralGood! But some remarks nevertheless... PinmemberDanny Alvares14:49 21 Apr '04  
GeneralRe: Good! But some remarks nevertheless... PinmemberSuzanne Boyle5:42 23 Apr '04  
GeneralRe: Good! But some remarks nevertheless... Pinmemberewillyb7:41 9 Jul '05  

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Mobile
Web01 | 2.5.120529.1 | Last Updated 15 Apr 2004
Article Copyright 2004 by suzyb
Everything else Copyright © CodeProject, 1999-2012
Terms of Use
Layout: fixed | fluid