我仍然在处理关于欧芹和半验证的相同问题。 我有2个类别字段对表单提交的控制
- “联系信息” 的形式(17场)
- “公司信息”(5个字段)
的联系人信息字段是强制性的。 对于“公司信息字段”,用户只有在他有公司时才能回答。 因此,名为“jform [company]”的单选按钮可以回答“您有公司”的问题。
- 如果答案是“否” - 我想如果答案是“是”以应用半验证(只是 联系信息字段)
- - 我想申请一个完整的验证(联系人信息字段& &公司信息字段)
这里是我的代码: (它的高度在官方文档的例子启发:)
$('#adminForm').parsley().subscribe('parsley:form:validate', function (formInstance) {
if (formInstance.isValid('infos'))
{
if ($("input[name='jform[company]']:checked").val() == 1)
{
if (formInstance.isValid('comp'))
{
alert("Parsley - Full validation : OK");
return true;
}
else
{
alert("Parsley - Full validation : Fail");
formInstance.submitEvent.preventDefault();
}
}
else
{
alert("Parsley - Semi validation : OK");
return true;
}
}
else
{
alert("Parsley - Semi validation : Fail");
formInstance.submitEvent.preventDefault();
}
});
我的问题是,表单的提交只出现在完整的验证。 当我回答没有问题,我填写正确的联系信息,消息 “欧芹 - 半验证:确定”显示,但表格未提交!
你有可能的解释吗? 非常感谢
你最后一个问题有什么问题(http://stackoverflow.com/questions/26002630/conditional-fields-validation)?如果将警报更改为“返回true”,则会在填写正确的字段时提交表单。 – 2014-09-25 17:23:15
你好milz。不幸的是提交不起作用。代码被执行,因为我到达了这一点(消息显示),但行返回true不提交数据(没有发生)。在我以前的文章中,我在jsfiddle上的例子中没有测试表单的提交,只是块的条件验证。我知道这很奇怪......我不明白为什么“回归真实”;不会触发表单的提交。 – Lauradev 2014-09-25 18:51:37