A tecnologia ASP.NET possui algumas funcionalidades que visam facilitar a validação de campos e economizar tempo do desenvolvedor na criação da interface com o usuário. Permitindo trabalhar com alguns controles que executam todas verificações automaticamente, sem necessidade de escrever código. Toda via, por padrão, uma página Web Forms valida automaticamente se usuários mal-intencionados não estão tentando enviar scripts para a sua aplicação, mesmo se você não usar controles de validação.
Validação Contra Exploits: http://msdn.microsoft.com/en-us/library/vstudio/w1sw53ds(v=vs.100).aspx
Por padrão o tipo de validação Unobtrusive também é ativada na nova versão do ASP.NET. Validação Unobtrusive visa diminuir o tamanho da página, substituindo o JavaScript em linha para efetuar uma validação com uma biblioteca JavaScript pequena que usa jQuery. Você pode desabilitar está validação configurando o arquivo web.config.
Validando Campos Obrigatórios
Neste walkthrough utilizamos somente os RequiredFieldValidator, mas você pode executar outros tipos de validações com os componentes encontrados na caixa de ferramentas na opção Validation.
1 – Crie um novo projeto para Web do tipo C# Empty e crie uma nova pagina WebForm, utilize o código abaixo e a imagem para criar o design da sua aplicação:
2 – Para executar a validação nenhum código C# é necessário. No botão crie um grupo para os campos que deseja validar usando a propriedade ValidationGroup à preenchendo com AllValidator e nos campos de validação subsequentes também preencha a mesma propriedade com o mesmo valor, definindo os controles do grupo para serem validados, em seguida preencha a mensagem de erro na propriedade ErrorMessage de cada campo de validação. Assim que rodar sua aplicação tente clicar no botão sem preencher nenhum campo e a validação será executada, exibindo a mensagem de erro para os campos requeridos:
3 – Com os campos requeridos devidamente alimentados, a pagina se torna valida e a verificação do evento de clique do botão exibe a mensagem de sucesso:
Exemplo:
Neste exemplo criamos uma validação para os campos de texto os tornando de preenchimento obrigatório, para que a aplicação funcione corretamente desabilitamos a validação Unobtrusive já que estamos utilizando a nova versão do ASP.NET no qual ela é padrão. Caso queira usar o novo tipo de validação veja o vídeo abaixo:
Unobtrusive: http://blogs.msdn.com/b/mspfe/archive/2014/07/07/unobtrusive-java-script-validation.aspx
ASP.NET
default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="default.aspx.cs" Inherits="DAWebApp001._default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<style type="text/css">
.auto-style2 {
width: 14%;
}
.auto-style3 {
height: 23px;
}
.auto-style5 {
width: 248px;
}
.auto-style6 {
width: 54%;
}
.auto-style8 {
height: 23px;
width: 54%;
}
.auto-style9 {
height: 23px;
width: 248px;
}
</style>
</head>
<body>
<h1>Desenvolvimento Aberto - ASP.NET</h1>
<h2>Validação de Controles</h2>
<form id="form1" runat="server">
<div>
<table style="width: 100%;">
<tr>
<td class="auto-style3" colspan="2">
<asp:Label ID="LabelMenssagem" runat="server" Text="Entre com os dados abaixo:"></asp:Label>
</td>
<td class="auto-style8"></td>
</tr>
<tr>
<td class="auto-style2">
<asp:Label ID="Label2" runat="server" Text="Nome:"></asp:Label>
</td>
<td class="auto-style5">
<asp:TextBox ID="TextBox1nome" runat="server" Width="142px"></asp:TextBox>
</td>
<td class="auto-style6">
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox1nome" ErrorMessage="Nome é obrigatório." ForeColor="Red" ValidationGroup="AllValidator"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td class="auto-style3">
<asp:Label ID="Label3" runat="server" Text="Sobrenome:"></asp:Label>
</td>
<td class="auto-style9">
<asp:TextBox ID="TextBox2sobrenome" runat="server" Width="240px"></asp:TextBox>
</td>
<td class="auto-style8">
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="TextBox2sobrenome" ErrorMessage="Sobrenome é obrigatório." ForeColor="Red" ValidationGroup="AllValidator"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td class="auto-style3">
<asp:Label ID="Label4" runat="server" Text="Cargo:"></asp:Label>
</td>
<td class="auto-style9">
<asp:TextBox ID="TextBox3cargo" runat="server" Width="186px"></asp:TextBox>
</td>
<td class="auto-style8">
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="TextBox3cargo" ErrorMessage="Cargo é obrigatório." ForeColor="Red" ValidationGroup="AllValidator"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td class="auto-style3">
<asp:Label ID="Label5" runat="server" Text="Salário:"></asp:Label>
</td>
<td class="auto-style9">
<asp:TextBox ID="TextBox4salario" runat="server"></asp:TextBox>
</td>
<td class="auto-style8">
<asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ControlToValidate="TextBox4salario" ErrorMessage="Salário é obrigatório. " ForeColor="Red" ValidationGroup="AllValidator"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td class="auto-style3"> </td>
<td class="auto-style9"> </td>
<td class="auto-style8"> </td>
</tr>
<tr>
<td class="auto-style3">
<asp:Button ID="Button1enviardados" runat="server" Text="Enviar Dados" OnClick="Button1enviardados_Click" ValidationGroup="AllValidator" />
</td>
<td class="auto-style9"> </td>
<td class="auto-style8"> </td>
</tr>
</table>
</div>
</form>
</body>
</html>
default.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace DAWebApp001
{
public partial class _default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1enviardados_Click(object sender, EventArgs e)
{
if (Page.IsValid)
{
// Envia menssagem quando todos os campos requeridos
// forem preenchidos tornando a página valida.
LabelMenssagem.ForeColor = System.Drawing.Color.Green;
LabelMenssagem.Text = "Dados enviados com sucesso.";
}
}
}
}
web.congif
<?xml version="1.0" encoding="utf-8"?>
<!--
For more information on how to configure your ASP.NET application, please visit
http://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>
<appSettings>
<add key="ValidationSettings:UnobtrusiveValidationMode" value="None"/>
</appSettings>
</configuration>




