Disable RequiredFieldValidator in a gridview

Hi,
I would like to implement a client side javacript function to disable the requiredfieldvalidators in my gridview depending on a checkbox outside the Gridview.
I have looked at several example but can't get one work for me. Here is my code

<script language="JavaScript" type="text/javascript">
    function disableRFV()
    {
         ?????      
    }  

<asp:CheckBox ID="ckb" runat="server" OnCheckedChanged="disableRFV();" />

<asp:GridView ID="PackInnGrid" runat="server" CssClass="grid" Width="620px" AutoGenerateColumns="False" DataKeyNames="ProdInnID"
ShowFooter="false" EmptyDataText="No data entered!" EnableViewState="true" Enabled="true">      
<RowStyle CssClass="row" /><AlternatingRowStyle CssClass="alt" />
<Columns>
<asp:BoundField DataField="ProdInnID" Visible="false" />  

<asp:TemplateField HeaderText="PCB">
<ItemStyle Width="30px" />
<ItemTemplate><asp:TextBox ID="txbProdInnP" runat="server" CssClass="rowEdit" Width="30px" />
<asp:RequiredFieldValidator ID="reqInnPCB" runat="server" ControlToValidate="txbProdInnP" ValidationGroup="MyVal"
ErrorMessage="*" Display="Dynamic" EnableViewState="true" />
<asp:RegularExpressionValidator id="ValInnPcb" runat="server" Display="Dynamic"
ControlToValidate="txbProdInnP" ValidationExpression="^[1-9]+[0-9]*$" ErrorMessage="Integer only!"></asp:RegularExpressionValidator>
</ItemTemplate>
</asp:TemplateField>

<asp:TemplateField HeaderText="Length">
<ItemStyle width="60px" />
<ItemTemplate><asp:TextBox ID="txbProdInnL" runat="server" CssClass="rowEdit" Width="60px" />
<asp:RequiredFieldValidator ID="reqInnLength" runat="server" ControlToValidate="txbProdInnL" ValidationGroup="MyVal"
ErrorMessage="*" Display="Dynamic" EnableViewState="true" />
</ItemTemplate>
</asp:TemplateField>
</Columns>  
</asp:GridView>

pascalmartinAsked:
Who is Participating?
 
BurniePConnect With a Mentor Commented:
Ok, to disable only gridview validators, change your disable function for this :


function disable() {
        for (var i = 0; i < Page_Validators.length; i++) {
          if (Page_Validators[i].id.indexOf('PackInnGrid') >= 0) {
            ValidatorEnable(Page_Validators[i], false);
          }
        }
      }

Open in new window

0
 
BurniePCommented:
This should work :

<script language="JavaScript" type="text/javascript">
    function disableRFV()
    {
         Page_ValidationActive = false;
    }  


0
Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

 
devlab2012Commented:
You can use ValidatorEnable function, like below:

ValidatorEnable(RequiredFieldValidator1, false);

and then call ValidatorValidate(), because the validator is disabled in above line, so it will always pass the validation test.
ValidatorValidate(RequiredFieldValidator1);
0
 
meispiscesCommented:
Is your problem resolved? Let me know your comments
0
 
pascalmartinAuthor Commented:
meispisces: I have seen the forum but it does not respond to what I need.
0
 
pascalmartinAuthor Commented:
Hi Burniep,
With this solution I will disable all the RFV from the page, where I need to disable only those in the gridview. It also return the following error :

Compiler Error Message: BC30456: 'disableRFV' is not a member of 'ASP.ucontrols_createprod2_ascx'.

Source Error:
Line 421:
Line 422:<br />
Line 423:<asp:CheckBox ID="ckb" runat="server" OnCheckedChanged="disableRFV();" />
Line 424:<br />
Line 425:
 
Should I use an HTML checkbox instead?
0
 
BurniePCommented:
You can still use asp:checkbox, but do it on the onclick.

<asp:CheckBox ID="ckb" runat="server" onclick="disableRFV();" />

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.