Mensagem “este [0] é indefinido” usando o jQuery validate plugin
Comecei a usar o plugin de validação jQuery. Eu estava tendo alguns problemas com a exibição das mensagens de erro e queria criar uma página de teste onde pudesse experimentar algumas coisas. Apesar da mesma configuração funcionar para mim ontem, agora estou recebendo a seguinte mensagem:
this[0] is undefined
visualizando o código jQuery, ele falha na seção a seguir (linha específica destacada):
valid: function() {
if ( $(this[0]).is('form')) {
return this.validate().form();
} else {
var valid = true;
**var validator = $(this[0].form).validate();**
this.each(function() {
valid &= validator.element(this);
});
return valid;
}
}
de olhar para ele, deve pensar que meu validador não é um formulário, mas é. Realmente não entendo o que está acontecendo. O código apenas falha ao tentar imprimir o resultado doválido( método para o console. Aqui está o meu código até agora. Grato por qualquer ajuda.
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
th {
text-align: center;
}
.labelCol {
width: 60px;
}
</style>
<script type="text/javascript" src="jquery-1.6.1.full.js"></script>
<script type="text/javascript" src="jquery.validate.full.js"></script>
<script type="text/javascript">
$('#myform').validate({
rules: {
thisval: "required"
}
});
console.info($('#myform').valid());
</script>
</head>
<body>
<form id="myform" name="myform" action="" method="post">
<table>
<tr>
<th colspan="2">Header Section</th>
</tr>
<tr>
<td class="labelCol">This Title</td>
<td class="valueCol">
<input type="text" name="thisval" id="thisval"
maxlength="45" size="45" />
</td>
</tr>
<tr>
<td>
<input type="submit" value="submit" />
</td>
</tr>
</table>
</form>
</body>
</html>