Jquery 如何使用ValidationEngine在整个表单验证之前验证字段

Jquery 如何使用ValidationEngine在整个表单验证之前验证字段,jquery,jquery-validation-engine,Jquery,Jquery Validation Engine,我正在尝试使用ValidationEngine() 在验证整个表单之前,我需要验证一个字段(用于电子邮件): $(document).on("click", "#EmailButton", function(){ var valid=$("#Email").validationEngine('validate'); alert(valid); }) $("#<?=$formName?>").validationEngine({ promptPosition:'t

我正在尝试使用ValidationEngine() 在验证整个表单之前,我需要验证一个字段(用于电子邮件):

$(document).on("click", "#EmailButton", function(){
    var valid=$("#Email").validationEngine('validate');
    alert(valid);
})
$("#<?=$formName?>").validationEngine({
   promptPosition:'topLeft', 
   scroll: false,
   binded: false,
   onValidationComplete: function(form, status){
if(status==true){                    
           $.ajax({
                type: "POST", ... ... ... }
}
$(文档)。在(“单击”、“#电子邮件按钮”上,函数(){
var valid=$(“#电子邮件”).validationEngine('validate');
警报(有效);
})
$(“#”)验证引擎({
提示位置:'topLeft',
卷轴:错,
绑定:假,
onValidationComplete:功能(表单、状态){
如果(状态==true){
$.ajax({
类型:“POST”、……}
}
因此,当我点击
#Email按钮时,
应该验证
#Email
字段,而不是整个表单

但是当点击
#email按钮时,
$(“#”)中的ajax脚本将运行

我需要此功能,因为我想在填写
#Email
字段后对表单进行一些更改(如果电子邮件是否在数据库中)

在运行
$(“#”)之前,如何验证
#Email
字段。validationEngine({})
脚本

谢谢。

试试这个:

$("#Email").validationEngine('validateField',$("#Email"))
在HTML中:

<form id="emailForm">
      Email:<input type="email" id="txtEmail" class="validate[required,custom[email],maxSize[30]]"/>
            <input type="button" value="Email Verify" onclick="emailCheck()"/>  
</form>

如果只是因为jQuery验证引擎的代码也不正确,那么前面的答案是不正确的。由于当前版本中的错误,此代码段的布尔值实际上是向后的。尝试将“true”更改为“false”,您应该会得到一个工作结果。下面是更正的示例(假设相关字段的ID为“email”):


请在标记问题时更加小心。jQuery验证和jQuery验证引擎是两个不同的东西。编辑。没有答案?请帮帮我!我仍然没有找到解决方案!寻求帮助不是建设性的。我已经回答了数百个关于jQuery验证插件的问题,但不幸的是,我对较少的po不太了解pular jQuery验证引擎。谢谢。也许jQuery验证插件更受欢迎,但是经理需要ValidationEngine!我在这个网站上看到了很多关于ValidationEngine的信息,有人在使用它。但是我没有找到任何关于我的问题的有用帖子…我还在等待帮助,问题没有解决…:(是的,但当我遇到同样的问题时,这就是我的代码。你可以再次阅读我的评论:“答案由解释解决方案的句子组成”。我仍然看不到一个句子。这段代码是做什么的?这对我不起作用。当调用特定于该字段的jQuery验证引擎时,该函数返回true,而在整个表单上调用同一函数时返回false。
function emailCheck()
{
    if($("#emailForm").validationEngine('validate') == true)
    {
       alert('valid');
    }
    else
    {
       alert('not valid');
    }
}
function validateEmail() {
    var isValid = !$("#email").validationEngine('validate');

    // You may delete the following two lines after confirming that things are working:
    if (isValid) alert('valid');
    else alert('not valid');

    return isValid; // leave this line in -- it will return the result of validation
}