2009-07-01 8 views
0

En ce moment, j'ai une application 2.0 asp.net qui permet à un utilisateur de rechercher les champs suivantspersonnalisée Validator avec un OR Condition

Location (Required if there is nothing in idnumber field) 
Address (Required if there is nothing in idnumber field) 
Zip  (Required if there is nothing in idnumber field) 

**OR** 

IDNumber. (Required if there is nothing in any of the other fields) 

Ce que je voudrais être en mesure de faire est de valider ce client côté sur le bouton cliquez et affichez un résumé des erreurs.

c'est-à-dire si un utilisateur laisse tous les critères vides. Je voudrais afficher "Vous devez entrer un IDNumber ou" Emplacement, adresse, et Zip pour continuer "

Je n'ai jamais utilisé le contrôle de validation personnalisée alors voici quelques questions 1) Est-il capable de faire cela? 2) est-ce que quelqu'un a un exemple de la façon de le faire?

Merci

Répondre

0

Il est assez simple d'utiliser un validateur personnalisé. Ajouter un à votre page, et choisissez l'événement ServerValidate, qui généreront une fonction comme celle-ci (exemple en C#):

protected void CustomValidator1_ServerValidate(object source, 
               ServerValidateEventArgs args) 
{ 
    // Your validation logic goes here... set args.IsValid = true if it passes, 
    // false otherwise. Here is an example... 

    args.IsValid = false; 
    if(txtIDNumber.Text.Length > 0) 
    { 
     args.IsValid = true; 
    } 
    else if (txtLocation.Text.Length > 0 
      && txtAddress.Text.Length > 0 
      && txtZip.Text.Length > 0) 
    { 
     args.IsValid = true; 
    } 
} 
1

Vous pouvez utiliser la propriété ClientValidationFunction d'un contrôle CustomValidator pour spécifier une fonction Javascript qui validera votre formulaire. Vous aurez besoin d'écrire le JavaScript pour la validation. À moins que vous n'écriviez une application où vous pouvez être absolument sûr que tous vos clients ont activé JavaScript, je recommande vivement d'utiliser également la propriété OnServerValidate pour fournir également la validation côté serveur.