8
votes

I need to validate the length of input of a textbox.

The max length property does not work for Multiline textboxes.

The regular expression I have is:

<asp:RegularExpressionValidator ID="RegularExpressionValidator2" runat="server"
                            ErrorMessage="The notes has exceeded maximum length."
                            ControlToValidate="txtNotes" Display="Dynamic"
                            ValidationExpression=".{0,500}" ValidationGroup="PO">
                            *</asp:RegularExpressionValidator>

The problem I'm having is when a new line is entered into the textbox the validator reports a problem.

What would I need to add to the ValidationExpression to ignore carriage returns?

Thanks

1

1 Answers

12
votes

Change .{0,500} to [\s\S]{0,500}. Note that carriage returns won't exactly be ignored; they'll still count toward the 500-character limit.

Of course, if 500 characters is the size of your database field, that's exactly the behavior you want.