2010-03-12 5 views
1

J'ai plusieurs champs de texte sur le formulaire et je veux que deux d'entre eux valident comme si l'un d'entre eux est vide alors dites "Les deux champs sont obligatoires". De plus, j'ai aussi d'autres champs de texte sur le formulaire et ils sont déjà en cours de validation sur le bouton. Peut-il être manipulé en utilisant Asp.Net CustomValidator?Validation des entrées interdepend à l'aide de javascript

Répondre

1

Vous pouvez utiliser validateur personnalisé pour effectuer cette tâche.

<asp:CustomValidator ID="CustomValidator1" runat="server" 
      ErrorMessage="CustomValidator" ClientValidationFunction="testValid" 
      ControlToValidate="TextBox1" onservervalidate="CustomValidator1_ServerValidate" 
      ValidateEmptyText="True">both fields required</asp:CustomValidator> 

Le ClientValidationFunction contient le côté client de la fonction javascript testValid. il devrait donc ressembler à:

<script type="text/javascript"> 
     function testValid(sender, args) { 
      ....you logic 
      //set args.IsValid according to your logic 
      args.IsValid = false; 
     } 
    </script> 

côté serveur,

protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args) 
    { 
     //set args.IsValid according to your validation logic. 
     args.IsValid = false; 
    } 
0

Utilisez un comparer et exiger validateur sur le terrain, à savoir

<label>Password</label> <asp:TextBox runat="server" ID="txtPassword" MaxLength="15" TextMode="Password" /> 

<label>Password-check</label> <asp:TextBox runat="server" ID="txtPasswordCheck" TextMode="Password" MaxLength="15" /> 
<asp:RequiredFieldValidator runat="server" ID="rfvtxtPasswordCheck" ControlToValidate="txtPasswordCheck" Text="* " /> 
<asp:CompareValidator runat="server" ID="cvtxtPasswordCheck" ControlToValidate="txtPasswordCheck" ControlToCompare="txtPassword" Operator="Equal" Type="String" Text="* Passwords do not match" /> 
Questions connexes