Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

sergiovallejr

[Resolvido] Problema com ModelState.IsValid

Recommended Posts

Boa Tarde galera,

 

Sou novo em desenvolvimento com .NET porém já estou conseguindo engatinhar nessa tecnologia.

 

Tenho o seguinte cenário:

 

#Controlers

HomeController.cs

 

#Models

HomeModel.cs

#Views

Index.aspx

Principal.aspx

 

A view Index.aspx estou utilizando como a tela de login, onde o usuário deverá colocar o usuário e senha para acesso a página Principal (tela principal do sistema).

 

Segue o código de cada um dos arquivos

 

HomeController.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace Membresia.Controllers
{
   public class HomeController : Controller
   {

       [HttpGet] 
       public ViewResult Index()
       {
           return View(); 
       }


       [HttpPost]
       public ViewResult Index(HomeController HomeModel)
       {
           if (ModelState.IsValid)
           {
               return View("Principal");
           }
           else // Validation error, so redisplay data entry form 
               return View();

       }


   }
}

 

HomeModel

using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel;


namespace Membresia.Models
{
   public class HomeModel
   {

   }
   public class LogOnModel
   {
       [Required]
       [DisplayName("User name")]
       public string Txtusuario { get; set; }

       [Required]
       [DataType(DataType.Password)]
       [DisplayName("Password")]
       public string Txtsenha { get; set; }


   }
}

 

Index.aspx

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<Membresia.Models.LogOnModel>" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
   <link href="../../Content/Tlogin.css" rel="stylesheet" type="text/css" />
  <link rel="Stylesheet" href="../../Content/Site.css" /> 
   <title>Index</title>
</head>
<body> 
  <div class="barra_horizontal_login">
  <div class="divform">
   <% using (Html.BeginForm()){ %>
       <%= Html.ValidationSummary() %> 
           <label class="labels" for="Usuário:">Usuário:</label> <%= Html.TextBoxFor(x => x.Txtusuario)%>
           <br/>
       <label class="labels" for="Senha:">Senha:</label><%= Html.TextBoxFor(x => x.Txtsenha)%>
       <br />
       <input type="submit" value="OK"/>
       <%=Html.ValidationMessageFor(x => x.Txtusuario)%>
      <% } %>
  </div>
  </div>
  <div class="imagemLogo"></div>
  <div class="titulo"></div>
  <div class="barra_rodape">©copyright - Membresia - Todos os direitos reservados</div>
</body> 
</html>

 

Porém toda vez que clico em ok (botão de logar) ele não faz a validação dos campos em branco, pois ao passar pela verificação ModelState.IsValid é sempre retornado TRUE, alguém pode me ajudar???

 

Valeu!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aqui nesta linha public ViewResult Index(HomeController HomeModel) para que ocorra a validação tem que receber um objeto LogOnModel ao inves do controlador public ViewResult Index(LogOnModel HomeModel)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.