2010-09-14 5 views
0

J'ai un contrôle FileUpload avec un validateur de champ obligatoire. Il génère une erreur si l'utilisateur ne clique pas sur le bouton Parcourir pour sélectionner un fichier (ce qui est correct). Toutefois, si l'utilisateur clique sur le bouton Parcourir, mais ne clique pas sur le bouton Télécharger, le validateur requis par ASP.NET ne génère pas d'erreur. Des idées pour réparer?Comment exiger FileUpload avec le téléchargement réel, non seulement sélectionner un fichier

+0

Pouvez-vous préciser votre question, voulez-vous dire que vous voulez validé lorsqu'un utilisateur ne choisit pas un fichier quand il clique sur Parcourir? Si c'est le cas le déclencheur champ validatoe requis wont jusqu'à ce que vous frappez télécharger – Raymund

+0

Je veux juste forcer l'utilisateur à télécharger un fichier en pièce jointe lorsqu'ils soumettent « une demande ». Les utilisateurs peuvent contourner mon champ validateur requis en cliquant sur le bouton Parcourir de la commande de téléchargement de fichiers, la sélection d'un fichier, puis soumettre la « demande » sans cliquer jamais le bouton Télécharger de la commande de téléchargement de fichiers. Je veux combler cette lacune. Merci! –

Répondre

3

Pourquoi ne pas utiliser un CustomValidator au lieu d'un RequiredFieldValidator?

protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args) 
    { 
     args.IsValid = FileUpload1.PostedFile.ContentLength != 0; 
    } 

    private void Save() 
    { 
     if (Page.IsValid) 
     { 
      var myFileName = "somefile.jpg" 
      FileUpload1.PostedFile.SaveAs(myFileName); 
     } 
    }