自定义字段上的jQuery表单验证器
问题描述:
我正在使用一些脚本来处理我的selects
。这个脚本是:jquery.selectbox-0.2自定义字段上的jQuery表单验证器
我的结构是:
<select name="dpto_contato" id="dpto_contato" tabindex="1">
<option value="">Selecione o Departamento</option>
<option value="Administração">Administração</option>
<option value="Financeiro">Financeiro</option>
<option value="Vendas">Vendas</option>
</select>
但有了这个插件,这个标记接收显示:无,而另一个“分区”出现,取代这一点,我的“选择框” 出现这样:
<div id="sbHolder_36001521" class="sbHolder" tabindex="1">
<a id="sbToggle_36001521" class="sbToggle" href="#"></a>
<a id="sbSelector_36001521" class="sbSelector" href="#">Selecione o Departamento</a>
<ul id="sbOptions_36001521" class="sbOptions" style="display: none;">
<li>
<a class="sbFocus" href="#" rel="">Selecione o Departamento</a>
</li>
<li>
<a href="#Administração" rel="Administração">Administração</a>
</li>
<li>
<a href="#Financeiro" rel="Financeiro">Financeiro</a>
</li>
<li>
<a href="#Vendas" rel="Vendas">Vendas</a>
</li>
</ul>
</div>
我使用jQuery,验证:
$("#form_contato").validate({
rules: {
dpto_contato: { required: true },
nome: { required: true, minlength: 2 },
email: { required: true, email: true },
telefone: { required: true },
assunto: { required: true },
mensagem: { required: true }
},
messages: {
dpto_contato: { required: 'Selecione o Departamento'},
nome: { required: 'Informe o seu nome', minlength: 'No mínimo 2 letras' },
email: { required: 'Informe o seu Email', email: 'Informe um Email válido' },
telefone: { required: 'Informe seu Telefone'},
assunto: { required: 'Informe o Assunto'},
mensagem: { required: 'Escreba sua Mensagem'},
},
showErrors: function(errorMap, errorList) {
$("#form_contato").find("input").each(function() {
$(this).removeClass("error");
});
$("#myErrorContainer").html("");
if(errorList.length) {
$("#myErrorContainer").html(errorList[0]['message']);
$(errorList[0]['element']).addClass("error");
}
},
submitHandler: function(form){
$("#myErrorContainer").hide();
$("#enviando").show();
var dados = $(form).serialize();
$.ajax({
type: "POST",
url: "PAGINADEENVIO.PHP",
data: dados,
success: function(data)
{
alert('Email enviado com sucesso!. Em breve entraremos em contato');
$("#form_contato")[0].reset();
$("#enviando").hide();
}
});
return false;
}
});
所以我的问题是:如何在此选择中应用验证?
答
默认情况下,jQuery验证忽略所有隐藏的输入元素。
要使用jQuery Validate插件验证隐藏元素,您必须将ignore
选项设置为[]
,该选项禁用此默认行为。
$("#form_contato").validate({
ignore: [],
rules: {
...
+0
赫姆..我会尝试!.. 谢谢! – Preston
您使用自己的验证或使用我使用jQuery.validator任何验证frameworls –
,对不起,我忘了... mension – Preston