Here is an easy way to check user inputs in ASP.NET: RegularExpressionValidator control. You can compare the input with the regular expression you provide and show users corresponding validation errors.
Validation Rules
In this example, my validation rules are below.
Field | Allowed Characters | Min Length | Max Length |
Name | a-z, A-Z, period (.), apostrophe (‘) | 2 | 50 |
Job Title | a-z, A-Z, period (.), apostrophe (‘), ampersand (&), parenthesis (()), slashes (/\) | 2 | 50 |
Organization | a-z, A-Z, period (.), apostrophe (‘), ampersand (&), parenthesis (()), slashes (/\) | 2 | 50 |
Department | a-z, A-Z, period (.), apostrophe (‘), ampersand (&), parenthesis (()), slashes (/\) | 2 | 50 |
Fax Number | 0-9, period (.), space ( ), parenthesis (()), plus (+), hyphen (-), forward slash (/) | 2 | 20 |
Email Address | a-z, A-Z, 0-9, at-sign (@), period (.), hyphen (-), underscore (_) | 8 | 50 |
Phone Number | 0-9, period (.), space ( ), parenthesis (()), plus (+), hyphen (-), forward slash (/) | 2 | 20 |
Organization’s website | a-z, A-Z, 0-9, “http://”, “https://”, period (.), hyphen (-), underscore (_) | 4 | 50 |
Validation Controls
ASP.NET code for input controls and validation controls are below. Please note that I used RequiredFieldValidator as well as RegularExpressionValidator.
<asp:ValidationSummary ID="smryUpdate" EnableClientScript="true" ShowSummary="true" ValidationGroup="smryUpdate" HeaderText="Please correct the following errors:" DisplayMode="BulletList" runat="server" /> <asp:TextBox runat="server" ID="txtName" MaxLength="100" Width="150px"></asp:TextBox> <asp:RequiredFieldValidator ID="rqdName" SetFocusOnError="true" ValidationGroup="smryUpdate" Text="*" ErrorMessage="Name is required" ControlToValidate="txtName" runat="server"></asp:RequiredFieldValidator> <asp:RegularExpressionValidator ID="RegularExpressionValidatorName" runat="server" ValidationGroup="smryUpdate" ValidationExpression="^[a-zA-Z''-'\s.&/\\()]{2,50}$" ControlToValidate="txtName" ErrorMessage="Invalid Name Format"></asp:RegularExpressionValidator> <asp:TextBox runat="server" ID="txtJobTitle" MaxLength="50" Width="150px"></asp:TextBox> <asp:RequiredFieldValidator ID="rqdTitle" ValidationGroup="smryUpdate" Text="*" ErrorMessage="Job Title is required" ControlToValidate="txtJobTitle" runat="server"></asp:RequiredFieldValidator> <asp:RegularExpressionValidator ID="RegularExpressionValidatorJobTitle" runat="server" ValidationGroup="smryUpdate" ValidationExpression="^[a-zA-Z''-'\s.&/\\()]{2,50}$" ControlToValidate="txtJobTitle" ErrorMessage="Invalid Job Title Format"></asp:RegularExpressionValidator> <asp:TextBox runat="server" ID="txtOrganization" MaxLength="50" Width="150px"></asp:TextBox> <asp:RequiredFieldValidator ID="rqdOrganization" ValidationGroup="smryUpdate" Text="*" ErrorMessage="Organization is required" ControlToValidate="txtOrganization" runat="server"></asp:RequiredFieldValidator> <asp:RegularExpressionValidator ID="RegularExpressionValidatorOrg" runat="server" ValidationGroup="smryUpdate" ValidationExpression="^[a-zA-Z''-'\s.&/\\()]{2,50}$" ControlToValidate="txtOrganization" ErrorMessage="Invalid Organization Format"></asp:RegularExpressionValidator> <asp:TextBox runat="server" ID="txtDepartment" MaxLength="50" Width="150px"></asp:TextBox> <asp:RequiredFieldValidator ID="rqdDepartment" ValidationGroup="smryUpdate" Text="*" ErrorMessage="Department is required" ControlToValidate="txtDepartment" runat="server"></asp:RequiredFieldValidator> <asp:RegularExpressionValidator ID="RegularExpressionValidatorDept" runat="server" ValidationGroup="smryUpdate" ValidationExpression="^[a-zA-Z''-'\s.&/\\()]{2,50}$" ControlToValidate="txtDepartment" ErrorMessage="Invalid Department Format"></asp:RegularExpressionValidator> <asp:TextBox runat="server" ID="txtFaxNo" MaxLength="50" Width="150px"></asp:TextBox> <asp:RegularExpressionValidator ID="RegularExpressionValidatorFax" runat="server" ValidationGroup="smryUpdate" ValidationExpression="^[0-9.()\-+/]{2,20}$" ControlToValidate="txtFaxNo" ErrorMessage="Invalid Fax Number Format"></asp:RegularExpressionValidator> <asp:TextBox runat="server" ID="txtEmail" MaxLength="50" Width="150px"></asp:TextBox> <asp:RequiredFieldValidator ID="rqdEmail" SetFocusOnError="true" Text="*" ValidationGroup="smryUpdate" ErrorMessage="Email is required" ControlToValidate="txtEmail" runat="server"></asp:RequiredFieldValidator> <asp:RegularExpressionValidator ID="RegularExpressionValidatorEmail" runat="server" ValidationGroup="smryUpdate" ValidationExpression="^(([\w-]+\.)+[\w-]+|([a-zA-Z]{1}|[\w-]{2,}))@((([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\.([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\.([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])\.([0-1]?[0-9]{1,2}|25[0-5]|2[0-4][0-9])){1}|([a-zA-Z0-9]+[\w-]+\.)+[a-zA-Z]{1}[a-zA-Z0-9-]{1,23})$" ControlToValidate="txtEmail" ErrorMessage="Invalid Email Format"></asp:RegularExpressionValidator> <asp:TextBox runat="server" ID="txtPhone" MaxLength="50" Width="150px"></asp:TextBox> <asp:RequiredFieldValidator ID="rqdPhone" ValidationGroup="smryUpdate" Text="*" ErrorMessage="Phone is required" ControlToValidate="txtPhone" runat="server"></asp:RequiredFieldValidator> <asp:RegularExpressionValidator ID="RegularExpressionValidatorPhone" runat="server" ValidationGroup="smryUpdate" ValidationExpression="^[0-9.()\-+/]{2,20}$" ControlToValidate="txtPhone" ErrorMessage="Invalid Phone Number Format"></asp:RegularExpressionValidator> <asp:TextBox runat="server" ID="txtWebsite" MaxLength="50" Width="150px"></asp:TextBox> <asp:RegularExpressionValidator ID="RegularExpressionValidatorWebsite" runat="server" ValidationGroup="smryUpdate" ValidationExpression="^(https?:\/\/[a-zA-Z0-9\-_\.]{1,32}\.[a-zA-Z0-9\-_]{2,9}|[a-zA-Z0-9\-_.]{1,40}\.[a-zA-Z0-9\-_]{2,9})$" ControlToValidate="txtWebsite" ErrorMessage="Invalid Website Format"></asp:RegularExpressionValidator> <asp:Button runat="server" ID="btnSubmit" Text="Update" ValidationGroup="smryUpdate" Width="100px" OnClick="btnSubmit_Click" />
Useful Sources:
- https://msdn.microsoft.com/en-us/library/ff650303.aspx
- http://www.regular-expressions.info
- http://www.regexlib.com
- Regex test: http://www.regexpal.com
- Regex test: http://www.regexr.com
