2012-02-03 4 views
0

Je cherchais un moyen simple de contrôler les données saisies dans un formulaire, je suis venu à cette solution que je peux utiliser six contrôles serveur de validation qui sont disponibles pour ASP.NET:contrôles serveur ASP.NET Validation

RequiredFieldValidator

CompareValidator

RangeValidator

RegularExpressionValidator

CustomValidator

ValidationSummary

mais pour utiliser ces contrôles que je dois inclure runat = « server » dans les balises de contrôle et balise form.

le problème est quand je veux spécifier une action de contrôleur dans « l'action » attribut de la balise « forme », il me donne l'erreur:

balises Server ne peuvent pas contenir <% ...%> construit

Existe-t-il un moyen d'utiliser ces contrôles et d'appeler une action du contrôleur après l'envoi?

voici mon code:

<form name="register" action="<%: Url.Action("LogOn","Account") %>" runat="server">   
    <div class="form_row"> 
     <label class="contact"><strong>Username:</strong></label> 
     <asp:TextBox id="UserName" runat="server" type="text" class="contact_input"></asp:TextBox> 
      &nbsp; 
     <asp:RequiredFieldValidator id="RequiredFieldValidator1" 
      runat="server" ErrorMessage="Required!" 
      ControlToValidate="UserName"> 
     </asp:RequiredFieldValidator> 
    </div> 

    <div class="form_row"> 
     <label class="contact"><strong>Password:</strong></label> 
     <input id = "Password" name = "Password" type="password" class="contact_input" /> 
     <asp:RequiredFieldValidator id="RequiredFieldValidator1" 
      runat="server" ErrorMessage="Required!" 
      ControlToValidate="Password"> 
     </asp:RequiredFieldValidator> 
    </div>      

    <div class="form_row"> 
     <div class="terms"> 
      <input id = "RememberMe" type="checkbox" name="terms" /> 
      Remember me 
     </div> 
    </div> 

    <div class="form_row"> 
     <input type="submit" class="register" value="login" /> 
    </div> 

</form> 

Répondre

1

Cela ressemble à un scénario très confus. Vous décrivez un projet MVC mais vous utilisez des contrôles de formulaire Web.

Si vous utilisez MVC, je remplacer les contrôles .net par des contrôles HTML standard et utiliser des annotations de données pour votre validation. See here for information.

Dans MVC, il ne devrait pas être nécessaire d'utiliser runat="server" pour quelque chose.

+0

merci Digbyswift, oui J'utilise MVC et j'allais dans le mauvais sens, je vais utiliser des annotations de données, merci pour votre aide. – nafiseh

Questions connexes