Search code examples
javascriptasp.netvalidationconfirmrequiredfieldvalidator

Javascript Confirm not Stopping request from post back if pressed cancel?


I am using Javascript function with confirm() message box and also having RequiredFieldValidator if I press cancel on my confirm message box but ValidatorGroup is true then it not stopping a request from getting post back.

I want to implement in such a way that If validatorGroup is treu but function return false then request should not get post back

Here is my Code:-

<asp:Button ID="btnStaffSendRequest" runat="server" Text="Send" OnClientClick="UploadRefrrel()"
                        UseSubmitBehavior="false" ValidationGroup="SaveRequestGroup" OnClick="btnStaffSendRequest_OnClick"
                        TabIndex="1000" />

Here is my Javascript Function:-

<script language="javascript" type="text/javascript">

                            function UploadRefrrel() {
                                var hiddenFile = this.document.getElementById("<%= hfInputForm.ClientID %>");
                                var upload = $find("<%= radUploadFiles.ClientID %>");
                                var inputs = upload.getUploadedFiles();
                                var retVal;
                                if (hiddenFile != null && hiddenFile.value != "" && inputs.length == 0) {
                                    retVal = confirm("FYI - Only 'Referral Form' is attached. Do you want to proceed without any other attachment?");
                                }
                                return retVal;
                            }
                        </script>

Solution

  • <asp:CustomValidator ID="validatePostBack" runat="server" Display="None" ClientValidationFunction="Validate_PostBack"
                            ValidationGroup="SaveRequestGroup" ErrorMessage="<br /> Please add other attachment."></asp:CustomValidator>                  
                        <telerik:RadScriptBlock ID="uploadReferel" runat="server">
                        <script language="javascript" type="text/javascript">
                            function Validate_PostBack(sender, e) {
                                var hiddenFile = this.document.getElementById("<%= hfInputForm.ClientID %>");
                                var upload = $find("<%= radUploadFiles.ClientID %>");
                                var inputs = upload.getUploadedFiles();
    
                                if (hiddenFile != null && hiddenFile.value != "" && inputs.length == 0) {
                                    var retVal = confirm("FYI - Only 'Referral Form' is attached. Do you want to proceed without any other attachment?");
                                    if (retVal == true) {
                                        e.IsValid = true;
                                    }
                                    else {
                                        e.IsValid = false;
                                    }
                                }
                            }
                        </script>
                        </telerik:RadScriptBlock>
    

    Found my solution and working fine