Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Henze

Capturar width com Jquery Validate

Recommended Posts

Boa noite Senhores,

 

Sou iniciante em programação e estou sofrendo com meu script de validação do formulário.

 

Estou utilizando o Jquery Validate e consegui validar todos os campos, menos uma questão necessária:

 

Resolução máxima do Input File.

 

Na validação, consigo limitar o tamanho da imagem, mas não a resolução. Como poderia capturar a mesma através deste script?

 

Segue como está atualmente:

 

 

<script type="text/javascript">
$().ready(function() {

$.validator.addMethod("data",function(value, element) {
   return value.match(/^\d\d?\/\d\d?\/\d\d\d\d$/);
   },
   "Por favor insira uma data na formatação dd/mm/yyyy"
);

$.validator.addMethod('filesize', function(value, element, param) {
   return this.optional(element) || (element.files[0].size <= param) 
});

$.validator.addMethod('filesize', function(value, element, param) {
   return this.optional(element) || (element.files[0].size <= param) 
});


$("#enviar").validate({
rules: {
album: {required: true,	minlength: 5},
desc: {required: true,	minlength: 10},
data: {required: true, data : true},
foto: {required: true, accept: "jpe?g", filesize: 500576},
aceito: "required"
},

messages: {
album: {required: "Por favor digite um título para o seu vídeo", minlength: "Seu título precisa no mínimo de 5 caracteres"},
desc: {required: "Por favor digite a descrição do vídeo", minlength: "Sua descrição precisa no mínimo de 10 caracteres"},
data: "Digite uma data válida no padrão dd/mm/yyyy", 
foto: {required: "<br>Você precisa selecionar uma imagem JPG",accept:"<br>Por favor selecione uma imagem JPG.", filesize: "<br>A imagem não pode ser maior que 500KB"},
aceito: "Para prosseguir, aceite os termos |"
}
});

});
</script>

 

 

Estou pesquisando a 3 dias sobre isso e ainda não consegui entender ou visualizar algo pronto para que consiga sanar essa dúvida.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite senhores,

 

Ainda na luta com esse script, vi alguns comentários na internet falando que não é possível capturar a resolução da imagem antes de enviar o arquivo, mas não entendo então como o script consegue capturar o tamanho da imagem sem o envio.

 

Estou tentando tratar da seguinte forma e a função é reconhecida, porém não entende o valor.

 

$.validator.addMethod('width', function(value, element, param) {

return this.optional(element) || (element.files[0].width <= 640)

});

 

 

$("#enviar").validate({

rules: {

album: {required: true, minlength: 5},

desc: {required: true, minlength: 10},

data: {required: true, data : true},

foto: {required: true, accept: "jpe?g", filesize: true, width: true},

aceito: "required"

},

 

Poderiam me ajudar? Não sei se estou tratando o valor corretamente ou se eu preciso inserir o termo "px". Ja tentei da seguinte forma e não consegui:

--------------------------------------------------------------------------

$.validator.addMethod('width', function(value, element, param) {

return this.optional(element) || (element.files[0].width <= 640px)

});

-----------------------------------------------------------------------------

 

$.validator.addMethod('width', function(value, element, param) {

return this.optional(element) || (element.files[0].width <= 640+"px")

});

-------------------------------------------------------------------------------

 

$.validator.addMethod('width', function(value, element, param) {

return this.optional(element) || (element.files[0].width <= "640px")

});

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.