How to bypass validation for a button in ASP.NET?

C#asp.netValidation

C# Problem Overview


I have an ASP.NET form that takes input from a user. There's a Submit button on the form and a button called Calc which does a calculation to populate a text field. The problem I'm having is that on the form I have a set of <ASP:REQUIREDFIELDVALIDATOR> validators and when the Calc button is pressed the form gets validated. I don't want the required fields to be validated when the Calc button is pressed, only the Submit button. Any way around this?

C# Solutions


Solution 1 - C#

Set the CausesValidation property to false.

Solution 2 - C#

<asp:Button runat="Server" ... CausesValidation="False" />

Button.CausesValidation (If I remember correctly).

Solution 3 - C#

Try putting CausesValidation="false" as a button attribute.

Some sample code:

http://weblogs.asp.net/scottgu/archive/2005/08/04/421647.aspx

Solution 4 - C#

>ASPX Page:

<asp:Button ID="buttonNew" runat="server" Text="New" CausesValidation="False" />

OR

>CodeBehind Page: (.cs)

buttonNew.CausesValidation = false;

Check here to know more about Validated and Validating events for the controls.

Solution 5 - C#

Set the button.causesValidation to false.

this link

However, if all it is doing is calculating something based on user input then you shouldn't have it posting back at all. I would recommend using an HTML button and attach some javascript to it to do your work for you and then you won't have this problem.

Solution 6 - C#

While designing the button, you can set its property CausesValidation="false" to avoid validation on button click event. It does not allow to validation the server control and perform its click event only

Solution 7 - C#

You should use this

UseSubmitBehavior="False"

Solution 8 - C#

To disable validation in a specific control

Set the control's CausesValidation property to false.

<asp:Button id="Button3" runat="server"
  Text="Cancel" CausesValidation="False">
</asp:Button>

To disable a validation control

Set the validation controls Enabled property to false.

To disable client-side validation

Set the validation controls EnableClientScript property to false.

For More Info

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionMark AllisonView Question on Stackoverflow
Solution 1 - C#BrandonView Answer on Stackoverflow
Solution 2 - C#Brad ChristieView Answer on Stackoverflow
Solution 3 - C#IrishChieftainView Answer on Stackoverflow
Solution 4 - C#Bharath theorareView Answer on Stackoverflow
Solution 5 - C#MoarCodePlzView Answer on Stackoverflow
Solution 6 - C#KrishnakumarView Answer on Stackoverflow
Solution 7 - C#Oscar PerezView Answer on Stackoverflow
Solution 8 - C#DJNView Answer on Stackoverflow