Validação ASP.NET MVC com Globalização

Olá a todos,

Utilizando o ASP.NET MVC temos várias tarefas primárias feitas “automaticamente” para nós, entre elas, a questão de validação de dados: campos obrigatórios, formatos de dados e etc.

Entretanto, podemos encontrar dificuldade em alguns pontos da validação. Enquanto no Brasil o formato para uma data é dia/mês/ano, nos EUA já temos o formato mês/dia/ano.

Nos números também temos diferenças. 100,25 é um número válido para nós Brasileiros, mas não na cultura americana.

Continuar lendo

JQuery Datatables e ASP.NET MVC – Duas abordagens

Olá a todos,

Após quase 2 anos desenvolvendo em PHP, retorno ao continente Microsoft, no país .NET, numa cidadezinha com o nome de ASP.NET, na rua C#.

De agora em diante, espero fazer publicações relacionadas a essa tecnologia. Não guardo rancor contra o PHP, o problema sou eu, não ele, me entende? Quero o melhor para o PHP, por isso preciso me afastar (papo aleatório para dar um FORA).

Pra começar a brincadeira, que falar sobre Datatables e ASP.NET MVC! Separei duas abordagens para vocês, ilustres visitantes.

Código fonte para acompanhar o artigo.

Continuar lendo

A Torre Negra: O Pistoleiro

pistoleiro

Recentemente, comprei a coleção completa da Torre Negra no Submarino e comecei minha viagem junto com Roland, o pistoleiro, em busca de nossa Torre Negra.

Apesar de minha capacidade limitada de interpretação de textos, foi uma leitura agradável, fluída, sem distrações e com vontade de ler mais e mais a cada parágrafo. Fiquei preso ao texto e quando parava de ler, ficava pensando “o que acontecerá com Roland mais a frente?”.

Em minha opinião, o livro equilibrou muito bem aventura, descrição de cenários, construção de personagens e seus relacionamentos. Ao final de “O Pistoleiro” ocorreu um fato que me deixou bem chateado com a história, mas isso é um fato pessoal, algo que com certeza vai incomodar quem está acostumado com finais felizes.

Todos os personagens apresentados na história são explorados, uns mais, outros menos, mas sempre com um início, meio e fim (não de forma linear, pois o livro vai e volta no tempo para contar alguns pedaços da história).

Recomendo a leitura! É uma escrita muito superior e complexa ao que eu estava acostumado, mas fica muito longe de ser chato.

Agora com licença, quero ler A Escolha dos Três.

Javascript – Máscara para nono dígito de celular

Boa noite,

Recentemente enfrentei um problema interessante no trabalho. Foi necessário programar uma máscara com o nono dígito opcional para celulares de São Paulo que contivessem o dígito “9”.

Por exemplos, o campo deveria aceitar (e exibir com uma formatação agradável visualmente) os seguintes valores:

8391-7788

98391-7788

Foi necessário um pouco de javascript para atender a necessidade, deixo abaixo o código (usando JQuery e JQuery Masked Input) que usamos para resolver o problema:

		<script>

			//acrescenta à classe string um método necessário para facilitar
			String.prototype.splice = function( idx, rem, s ) {
				return (this.slice(0,idx) + s + this.slice(idx + Math.abs(rem)));
			};

			$(function(){

				//máscara inicial com o nono digito opcional
				$("#txtCel").mask('9999-9999?9');

				//ao sair do campo, vamos atualizar a máscara
				$("#txtCel").focusout(function(){

					//pegando apenas os digitos
					var cel = $("#txtCel").val().replace('-','').replace(/_/g,'');

					//se tiver 8 digitos
					if(cel.length == 8)
					{
						//vamos colocar o '-' no meio
						cel = cel.splice(4, 0, '-');
						//seta a máscara para aceitar o nono digito
						$("#txtCel").mask('9999-9999?9');
					}
					//caso contrário
					else if(cel.length == 9)
					{
						//deixamos 5 digitos na esquerda
						cel = cel.splice(5,0, '-');
						//seta a máscara para aceitar um digito a menos (caso tenha digitado errado)
						$("#txtCel").mask('99999-999?9');
					}

					//põem o valor no campo
					$(this).val(cel);

				});

			});
		</script>

Fecha a régua e passa a conta! (ou algo assim)