Ir para conteúdo

Arquivado

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

Johnison Almeida

validar select com jquery validate

Recommended Posts

<label for="selectCidade">Cidade:*</label>
	<select class="estiizarSelect" name="cidade" placeholder="Selecione uma cidade...">
		<option value="<?php $retorCidade = isset($_POST['cidade']) ? $_POST['cidade'] : ''; echo $retorCidade; ?>"><?php $retorCidade = isset($_POST['cidade']) ? $_POST['cidade'] : ''; echo $retorCidade; ?></option>
		<?php
			$cidad = new cidades();
			$cidad->selecionaTudo($cidad);
			while($res = $cidad->retornaDados()):
				echo '<option value="'.$res->cidades.'">'.$res->cidades.'</option>';
			endwhile;			
		?> 
	</select>

validate

<script type="text/javascript">
	$(document).ready(function(){
		$(".imovelForm").validate({
			rules:{
				endereco:{required:true, minlength:3},
				numero:{required:true, number: true},
				cidade:{required:true},
				bairro:{required:true},
				tipo:{required:true},
				transacao:{required:true},
				area:{number: true},
				valor:{required:true},
			}	
		});
	});
</script>

Nos inputs está funcionando agora nos selects não funciona.

Tenho que criar uma regra ? como?

obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola.
Eu uso o jquery.validade.js e o css

uso a função

$.validator.addMethod("safe", function(value, element) {
return this.optional(element) || /^[^$\<\>]+$/.test(value);
}, "$<> not allowed");
$("#fmEdit").validate({
submitHandler: function(form) { $("#fmEdit").ajaxSubmit(options); },
errorElement: "div",
errorClass: "cusErrorPanel",
errorPlacement: function(error, element) {
showerror(error, element);
}
});
function showerror(error, target) {
var pos = target.position();
var height = target.height();
var newpos = { left: pos.left, top: pos.top + height + 2 }
var form = $("#fmEdit");
error.appendTo(form).css(newpos);
}

e nos campos uso a classe

class="required safe"

Funciona em todos os campos.

Você pode adicionar métodos para cada tipo de campo.

Tem que traduzir as mensagens no script jquery.validate.

veja exemplos no site do desenvolvedor jquery.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Define tua primeira option com value="" (vazio).


Não acho que o atributo placeholder funcione para select. Sendo assim, a melhor solução de placeholder é algo assim:

<option value="" disabled selected>Selecione</option>

Dessa forma, essa opção inicia selecionada, porém, não poderá ser selecionada de novo além de ter a cor cinza.

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.