03/05/2013 21:53:00
By Felipe Pessoto
Recentemente tive um problema ao usar um form dinâmico no ASP.NET MVC. A validação não "intrusiva" é processada assim que a página termina de carregar, e a partir daquele momento não é mais alterada. Porém eu tinha uma página que carregava todo o conteúdo do form via Ajax, e neste caso é ainda pior do que carregar um novo form, pois se o form já existia ele é marcado para não ser processado novamente, então preciso primeiro desmarca-lo e depois ativar a validação novamente. O código é simples, só não é algo suportado ou documentado, e depende de detalhes da implementação atual:
var form = $('#form-adiciona-entrega');
form.removeData('validator').removeData('unobtrusiveValidation');//Este passo só é necessário se o form já existia. Se o form em si é gerado dinamicamente, não precisa desse "reset"
$.validator.unobtrusive.parse(form);
Encontrei também este código, que diz fazer isso automaticamente a cada chamada ajax, mas que depende também de detalhes do ASP.NET MVC:
$(document).ajaxSuccess(function (event, xhr, settings) {
if (settings.mvcTargetElement) {
$(settings.mvcTargetElement.getAttribute("data-ajax-update")).each(function () {
$.validator.unobtrusive.parse(this);
});
}
});
Fontes:
http://btburnett.com/2011/01/mvc-3-unobtrusive-ajax-improvements.html
http://stackoverflow.com/questions/11045256/jquery-client-side-validate-not-working
01/09/2013 21:03:36
By Felipe Pessoto
Menos de um mês após o Beta 1 saiu a versão Release Candidate 1. A nova versão 1.9 é um marco na história do jQuery, a intenção é remover o "lixo" acumulado pra manter a compatibilidade com versões antigas, assim muitas partes que estavam obsoletas foram removidas do código.
Para manter funcionando a base de código atual eles disponibilizaram um plug-in chamado jquery-migrate que permite restaurar as funcionalidades obsoletas, emitindo um alerta no console de desenvolvimento, assim você pode ajustar os códigos conforme for possível.
Na versão seguinte, 2.0, será abandonado o suporte aos Internet Explorer´s 6, 7 e 8 que hoje são um problema, obrigando o time do jQuery a inserir diversos hacks pra funcionar como deveria. Assim a versão 2.0 será menor, mais rapida e com menos problemas causados por esses hacks.
Para fazer a migração é só substituir o seu script jQuery por estes:
<script src="http://code.jquery.com/jquery-1.9.0rc1.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.0.0rc1.js"></script>
Se você usa o jQuery 1.6.4 ou superior também pode incluir apenas o jquery-migrate para ver quais avisos aparecem.
Ao achar algum bug, você deve reportar no site http://bugs.jquery.com
01/19/2010 09:54:00
By Felipe Pessoto
Foi lançada a versão 1.4 do jQuery e para divulgar o lançamento foi publicado o site jQuery14.com. O site será atualizado diariamente durante 14 dias, com vídeos e artigos sobre as novas funcionalidades. Parece que a nova nersão está bem mais rápida. Para fazer o download, acesse o site oficial jQuery