Validação com jQuery Validation

008_jQuery_Validate_thumb

Validação com jQuery Validation O jQuery validation é um plugin para fazer validações de formulários. Nesse video mostro como fazer algumas validações como: campos obrigatórios customizações de mensagens validações de tipos de dados específicos como data, email e números validações …Continue lendo…

Ajax com jQuery

Ajax com jQuery

Ajax com jQuery Existem diversas formas de fazer ajax com jQuery. O jQuery é muito versátil e poderoso, mas também é capaz de tornar algumas atividades que antes eram tediosas em códigos simples e curtos, ainda mais com a ajuda …Continue lendo…

Seletores jQuery

Seletores jQuery

Seletores jQuery Para selecionar elementos do DOM o jQuery faz uso dos seletores do CSS e também possui alguns seletores próprios. Nesse video eu mostro alguns exemplos desses seletores, de forma individual e combinando tanto seletores CSS como seletores jQuery. …Continue lendo…

Introdução ao jQuery | VideoCast

Introdução ao jQuery

Introdução ao jQuery O jQuery é hoje um dos frameworks feitos em JavaScript mais populares que existe, se não o mais popular. Simples e intuitivo, ele é de fácil compreensão e essa é também uma razão para a sua alta …Continue lendo…

001 – VideoCast – Produtividade com ASP.NET MVC 4

001_ProdutividadeMvc4_thumb

Nesse video eu mostro um pouco de como é possível obter Produtividade com ASP.NET MVC 4. O ASP.NET MVC vem melhorando a cada versão, e na versão quatro a nossa vida como programadores web ficou ainda mais fácil. E quem não gosta disso, não é?Nesse video eu mostro um pouco de como é possível obter Produtividade com ASP.NET MVC 4. O ASP.NET MVC vem melhorando a cada versão, e na versão quatro a nossa vida como programadores web ficou ainda mais fácil. E quem não gosta disso, não é? …Continue lendo…

Globalização de validação do jQuery com o ASP.NET MVC 3

O Asp.Net MVC 3 tem uma ótima funcionalidade que é a validação no cliente usando o plugin do jQuery validations e usando um script da própria Microsoft a validação é feita sem que seja necessário nenhum codificação especial. Basta usar os atributos do namespace System.ComponentModel.DataAnnotations.

Pra quem não sabe, para fazer essa validação basta adicionar os seguintes scripts (que já estão no template padrão de um novo site Asp.Net Mvc 3):

<script src=”/Scripts/jquery-1.6.2.min.js” type=”text/javascript”></script>
<script src=”/Scripts/jquery.validate.min.js” type=”text/javascript”></script>
<script src=”/Scripts/jquery.validate.unobtrusive.min.js” type=”text/javascript”></script>

Muito simples de verdade! Mas existe um problema, esse script não é globalizado, então digamos que você tenha que usar uma data na sua classe e você gostaria de validá-la, por exemplo eu tinha uma classe que entre outras coisas tinha que salvar uma data, para simplificar, algo como isso:

public class Pessoa
{
    public string Nome { get; set; }
    public string Sexo { get; set; }
    public string Rg { get; set; }

    [DataType(DataType.EmailAddress)]
    public string Email { get; set; }

    [DataType(DataType.Date)]
    public DateTime? DataNascimento { get; set; }
}

Quando eu informava a data 16/09/1980, por exemplo, automaticamente era detectado uma data inválida, já que o esperado é que a data estivesse no padrão mm/dd/aaaa, mas é claro que no Brasil o padrão é outro. Então como corrigir? Primeiro fazer uso do plugin Globalize do jQuery, adicione referências a dois scripts (que é claro, podem ser baixados no site do projeto):

Depois disso, tudo o que precisa ser feito é determinar qual a cultura que quer usar e indicar o parser do globalize para validar a data:

Globalize.culture("pt-BR");
$.validator.methods.date = function(value, element) {
    return this.optional(element) || Globalize.parseDate(value);
};

Não podia ser mais simples!

Postando um objeto JSON para uma Action MVC2 com jQuery

Há um tempo atrás eu postei uma versão desse artigo utilizando o Asp.Net MVC1.Agora, o MVC2 está no ar e com isso ficou mais fácil postar um objeto Json para uma action.

Para começar, baixe o ASP.NET MVC2 Futures e adicione uma referência no seu projeto para Microsoft.Web.Mvc.dll e no Global.asax.cs registre a chamada para o provedor do json, dessa forma:

protected void Application_Start()
{
    AreaRegistration.RegisterAllAreas();
    RegisterRoutes(RouteTable.Routes);
    ValueProviderFactories.Factories.Add(new JsonValueProviderFactory());
}

Do lado do Asp.Net é só isso. Faça sua Action normalmente esperando um objeto, no meu caso eu segui o exemplo anterior com o caso do cliente:

Fiz uma classe Cliente

public class Cliente
{
    public string Nome { get; set; }
    public string Cnpj { get; set; }
}

E minha action ficou assim:

public JsonResult Criar(Cliente cliente)
{
    return Json(cliente);
}

Obviamente, essa não é uma action muito criativa, simplesmente está recebendo um objeto da classe Cliente e retornando como Json, mas aqui poderia ser feito qualquer coisa, não é necessário retornar um objeto json.

Por fim, para enviar um objeto json pelo jquery precisamos de um plugin, já que o jquery não faz isso nativamente. Eu usei o jquery-json, que tem um método toJSON para converter um objeto javascript para json.

Veja como ficou meu script:

Mas uma vez, um script sem muito segredo, estou pegando os valores de caixas de texto e montando meu objeto, depois convertendo a variável cliente para um objeto json armazenado na variável encoded e passando essa variável na chamada ajax para a action.