0

I am using required field validation control on all textboxes and drop down list. When I press button page is not post back but if any textbox or drop down list is empty it will show error message on button click.

If I use CausesValidation="false" property in button control it will disable all validation control and page will post back on button click.

I want that page will post back on button click and required field validation controls will also work on button click.

<div class="row" id="question">
    <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
        <div class="row">
            <div class="col-lg-6 col-md-6 col-sm-6 col-xs-6">
                <div class="form-group">
                    <asp:TextBox ID="questions" runat="server" class="form-control input-sm floatlabel" placeholder="Question" TextMode="MultiLine"></asp:TextBox>
                    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" CssClass="textalignment" ErrorMessage="Question is required" ControlToValidate="questions" ForeColor="Red"></asp:RequiredFieldValidator>
                </div>
            </div>
            <div class="col-lg-6 col-md-6 col-sm-6 col-xs-6">
                <div class="row">
                    <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
                        <img id="imgprvw" class="img-responsive" />
                    </div>
                </div>
                <div class="row">
                    <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
                        <input type="file" name="filUpload" id="filUpload" onchange="showimagepreview(this)" />
                    </div>
                </div>
            </div>
        </div>
        <!-- End Question and Question type Selection -->
        <div class="row">
            <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
                <div class="form-group">
                    <div class="form-group">
                        <asp:DropDownList ID="ddlanswers" runat="server" class="form-control input-sm floatlabel" OnChange="showDiv(this)">
                            <asp:ListItem Text="Answer Type" Value="0"></asp:ListItem>
                            <asp:ListItem Text="Multiple Choices" Value="1"></asp:ListItem>
                            <asp:ListItem Text="Fill In The Blacks" Value="2"></asp:ListItem>
                            <asp:ListItem Text="Multi Select Choices" Value="3"></asp:ListItem>
                            <asp:ListItem Text="Descriptive Answer" Value="4"></asp:ListItem>
                        </asp:DropDownList>
                        <asp:RequiredFieldValidator ID="RequiredFieldValidator2" InitialValue="0" CssClass="textalignment" runat="server" ErrorMessage="Answer Type is required" ControlToValidate="ddlanswers" ForeColor="Red">
                            </asp:RequiredFieldValidator>
                    </div>
                </div>

            </div>
        </div>

        <div class="row" id="row1">
            <div class="col-lg-6 col-md-6 col-sm-6 col-xs-6">
                <div class="form-group">
                    <asp:TextBox ID="multichoice1" runat="server" class="form-control input-sm floatlabel" placeholder="Multiple Choice 1"></asp:TextBox>
                    <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" CssClass="textalignment" ErrorMessage="Multiple choice is required" ControlToValidate="multichoice1" ForeColor="Red"></asp:RequiredFieldValidator>
                </div>
            </div>
            <div class="col-lg-6 col-md-6 col-sm-6 col-xs-6">
                <div class="form-group">
                    <asp:TextBox ID="multichoice2" runat="server" class="form-control input-sm floatlabel" placeholder="Multiple Choice 2"></asp:TextBox>
                    <asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" CssClass="textalignment" ErrorMessage="Multiple choice is required" ControlToValidate="multichoice2" ForeColor="Red"></asp:RequiredFieldValidator>
                </div>
            </div>
        </div>

        <div class="row" id="row2">
            <div class="col-lg-6 col-md-6 col-sm-6 col-xs-6">
                <div class="form-group">
                    <asp:TextBox ID="multichoice3" runat="server" class="form-control input-sm floatlabel" placeholder="Multiple Choice 3"></asp:TextBox>
                    <asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server" CssClass="textalignment" ErrorMessage="Multiple choice is required" ControlToValidate="multichoice3" ForeColor="Red"></asp:RequiredFieldValidator>
                </div>
            </div>
            <div class="col-lg-6 col-md-6 col-sm-6 col-xs-6">
                <div class="form-group">
                    <asp:TextBox ID="multichoice4" runat="server" class="form-control input-sm floatlabel" placeholder="Multiple Choice 4"></asp:TextBox>
                    <asp:RequiredFieldValidator ID="RequiredFieldValidator6" runat="server" CssClass="textalignment" ErrorMessage="Multiple choice is required" ControlToValidate="multichoice4" ForeColor="Red"></asp:RequiredFieldValidator>
                </div>
            </div>
        </div>

        <div class="row" id="row3">
            <div class="col-lg-6 col-md-6 col-sm-6 col-xs-6">
                <div class="form-group">
                    <asp:TextBox ID="TextBox1" runat="server" class="form-control input-sm floatlabel" placeholder="Multiple Choice 5"></asp:TextBox>
                    <asp:RequiredFieldValidator ID="RequiredFieldValidator7" runat="server" CssClass="textalignment" ErrorMessage="Multiple choice is required" ControlToValidate="multichoice4" ForeColor="Red"></asp:RequiredFieldValidator>
                </div>
            </div>
        </div>


        <asp:Button ID="Button1" runat="server" Text="Button" UseSubmitBehavior="false" CssClass="btn btn-default" OnClick="Button1_Click1" />
        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
    </div>
</div>
HDJEMAI
  • 9,436
  • 46
  • 67
  • 93
Syed Usama
  • 1
  • 1
  • 6
  • You shouldn't need UseSubmitBehavior="false". Do you have any unusual settings in your web.config? Do you have UnobtrusiveValidationMode set to something? – kman Jun 03 '17 at 01:14
  • I didn't make any change in web.config. i have default web.config. – Syed Usama Jun 06 '17 at 06:38
  • Do you see any javascript errors in the console when you click the button with no validation errors and it doesn't post back? – kman Jun 06 '17 at 17:44

2 Answers2

0

In button property, remove UseSubmitBehavior="false" or Set UseSubmitBehavior="true".

Hope this help you.

Mike
  • 721
  • 7
  • 13
0

I think it is possible to do this in code-behind in one line of code. Put this in Button1_Click1 method.

ScriptManager.GetCurrent(this).RegisterPostBackControl(Button1);