Neste segundo artigo veremos novidades relacionadas à utilização de helpers, criação de gráficos, trabalho com imagens, segurança, exibição de dados, além de verificarmos as novidades e os novos atributos de validação.
Para que serve
Conhecendo os novos web helpers podemos com facilidade criar gráficos de diversos tipos no ASP.NET MVC, o helper de AntiForgery nos ajuda a evitar ataques através dos formulários de nosso site, os atributos de validação facilitam o trabalho com os form inputs. O novo WebImage Helper e WebGrid Helper servem para facilitar a manipulação de imagens e lista de dados, respectivamente.
Em que situação o tema é útil
No desenvolvimento de aplicações mais seguras, onde a validação dos dados merece atenção sem esquecer da estrutura do código, agora mais limpo, melhorando a leitura do HTML e separando o comportamento da interface de usuário.
Resumo do DevMan
Este artigo continua apresentando algumas novidades do ASP.NET MVC 3. Temos uma série de novidades como melhorias no ValidationAttribute, a interface IValidatableObject, Remote Validation e Compare Validation. Estes garantem qualidade na validação de informações. Veremos ainda o WebImage Helper que consegue com muita facilidade criar efeitos de watermark, recortar, rotacionar e salvar imagens. Veremos ainda alguns helpers que disponibilizam serviços em nossas páginas, como por exemplo Twitter Helper, Bing Helper e Gravatar Helper. Veremos também que algumas destas novidades já fazem parte do pacote RC do ASP.NET MVC 3, que foi lançado recentemente.
Boa parte do trabalho com Razor, a nova view engine do ASP.NET MVC, já foi apresentada. Sem dúvida ficou claro que o Razor é uma das principais novidades e o principal lançamento desta nova versão do ASP.NET MVC. Contudo, não se pode ignorar as outras novidades que estão sendo lançadas.
O ASP.NET MVC possui um modelo de validação de dados bastante interessante, utilizando attributes é possível validar os diversos formatos dos dados que são lançados em nossos sistemas Web, tudo de uma forma automática, graças ao model binder do ASP.NET MVC (veja nota do DevMan). Nesta nova versão existe a facilidade para utilizar os recursos de validação presentes no .NET 4.0, além da adição de dois novos atributos de validação: Remote e Compare. É muito comum que em nossas aplicações necessitemos da confirmação de alguns dados informados, como por exemplo e-mail e senha. Comparar se estes valores são iguais agora é realmente muito simples com a utilização do attribute Compare. Já o atributo Remote é capaz de sinalizar para a validação jQuery (Client-side) que utilize um método server-side para realizar a validação, desta forma é possível evitar duplicações de código, e garantir que de fato nossas regras para validação estejam no server e não apenas no client.
Este artigo também trata de Web Helpers. Já é sabido que quando é utilizado o ASP.NET MVC, os controles server side não são utilizados. Os controles padrão do ASP.NET Web Forms que possuem seus estados gerenciados pelo servidor não estão disponíveis no MVC. Grande parte disso é pelo fato de não se ter o View State no ASP.NET MVC, o que é um ganho e um benefício muito grande. No entanto, estão disponíveis alguns Web Helpers que auxiliam em algumas tarefas, que podem ou não possuir alguma saída gráfica. Alguns Web Helpers estão disponíveis já nessa versão RC de forma nativa, alguns outros estão em um assembly separado que precisa ser instalado, apesar disso, também são desenvolvidos e mantidos pelo time do ASP.NET MVC.
Antes de mais nada, faremos a atualização do ASP.NET MVC 3, que no artigo anterior estava utilizando a versão Beta, neste artigo utilizaremos a nova versão RC (que até o momento de escrita do artigo é a versão mais recente).
De uma forma resumida, um model binder seria o equivalente ao View State no ASP.NET. A transferência de tipos complexos entre páginas tem sido um grande desafio para o desenvolvimento web. Isso se dá pela sua natureza desconectada. Existem várias maneiras de se resolver esse problema. O uso do ViewState ou de Sessões é um bom exemplo disso. Mas o ASP.NET MVC vem apresentar algo diferente, que traz o seguinte benefício: Controle completo sobre a desserialização do tipo complex (objeto) que foi passado no método Action. Comparando o ASP.NET tradicional com o ASP.NET MVC, imagine a situação de uma tabela que é a lista de clientes e a primeira coluna dessa tabela é uma ação de Editar. Assumindo que o link dessa ação de editar seja “/Usuarios/Editar.aspx?IDUsario=123”, na página ASP.NET, no evento Load o seguinte código seria necessário:
private void Page_Load(object sender, EventArgs e)
{
int userID = 0;
if (int.TryParse(Request["IDUsuario"], out userID) == false)
{
// Id do usuário não foi passado, redirecionar para outro lugar.
}
User usuarioCorrente = GetUsuarioFromBancoDeDados(userID);
if (usuarioCorrente == null)
{
// Id do usuário inválido, não retornou ninguém, então redireciona para outro local.
}
// ...
}
Nada de muito ruim nele. Apenas que se tornaria um código repetitivo e, além disso, não é muito orientado a objetos, visto que os dados são sempre retirados da string da url. Agora utilizando os model binders é possível deixar o código como a seguir:
public ActionResult Editar(User usuarioCorrente)
{
if (usuarioCorrente == null)
{
// Usuário não fornecido, redirecionar.
}
// ...
}
...
Confira outros conteúdos:
Black November
Desconto exclusivo para as primeiras 200 matrículas!
Pagamento anual
12x no cartão
De: R$ 69,00
Por: R$ 54,90
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- 12 meses de acesso
Pagamento recorrente
Cobrado mensalmente no cartão
De: R$ 79,00
Por: R$ 54,90 /mês
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- Fidelidade de 12 meses
- Não compromete o limite do seu cartão
<Perguntas frequentes>
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.