When validating a user's input, you'll need to provide some feedback to let them know when they've entered something incorrectly. Use a ValidationSummary control at the top of an edit panel with the Bootstrap standard “alert alert-danger” CSS classes: <asp:ValidationSummary ID="ValidationSummary1" runat="server" CssClass="alert alert-danger" /> The RockBlock base class automatically adds a ValidationGroup property unique to each block instance for any RockControls, Validators, ValidationSummary controls, and Buttons that you have on your block. If one of these has already had a ValidationGroup declared, the RockBlock will update it so that it is prefixed with its unique ValidationGroup name. Because of this, you should only need to add a ValidationGroup to any areas of your block that are validated separately from the main block (i.e. Modal Dialogs, or Panels that are shown and hidden). NoteSee the GroupTypeDetail block for a good example of how to use validation group for modal dialogs. Also, while the ASP.NET validators will perform client-side validation, any validation done by Entity Framework (i.e. data annotations and the DataValidator used by the DataTextBox, and DataDropDownList controls) is only done server-side. So if you are validating input from a ModalDialog, you may need keep that dialog shown through a postback so that the validation summary can be displayed to the user. Preventing Validation You can prevent a button, link, etc. from causing validation by setting the CausesValidation property to false: <asp:LinkButton ID="btnCancel" runat="server" Text="Cancel" CssClass="btn btn-link" CausesValidation="false" OnClick="btnCancel_Click" /> You'll usually want to do this on cancel buttons, etc. Custom Validation Group If you need to add your own custom validators on controls, you should set the ValidationGroup property on the ValidationSummary control and then use that group name in controls on your block: <asp:ValidationSummary ID="valSearchOrganization" runat="server" ValidationGroup="SearchOrg" HeaderText="Please Correct the Following" CssClass="alert alert-danger block-message error" /> <Rock:RockTextBox ID="tbSearchPostalCode" runat="server" Label="Zip/Postal Code" Required="true" RequiredErrorMessage="Enter a zip or postal code to search" ValidationGroup="SearchOrg" /> <asp:RegularExpressionValidator ID="regSearchPostalCode" runat="server" ErrorMessage="Enter at least 4 characters" ControlToValidate="tbSearchPostalCode" ValidationGroup="SearchOrg" ValidationExpression="\w{4,12}" CssClass="validation-error" Display="None" /> ... <div class="actions"> <asp:LinkButton ID="lbSearch" runat="server" Text="Search" CssClass="btn btn-primary" OnClick="lbSearch_Click" ValidationGroup="SearchOrg" /> </div>