2010-04-09 100 views
0

我使用的jQuery validate()插件的一些形式,它很好。唯一的是我有一个需要特殊验证过程的输入字段。这是怎么回事:jQuery验证()特殊功能

jQuery验证插件调用domready所有必填字段。

下面是输入的例子:

<li> 
    <label for="nome">Nome completo*</label> 
    <input name="nome" type="text" id="nome" class="required"/> 
</li> 

这里是我打电话给我的特殊功能:

<li> 
    <span id="sprytextfield1"> 
     <label for="cpf">CPF* (xxxxxxxxxxx)</label> 
     <input name="cpf" type="text" id="cpf" maxlength="15" class="required" /> 
     <span class="textfieldInvalidFormatMsg">CPF Inv&aacute;lido.</span> 
    </span> 
</li> 

,并在文件的底部,我称之为轻快功能:

<script type="text/javascript"> 
    <!-- 
     var sprytextfield1 = new Spry.Widget.ValidationTextField("sprytextfield1","cpf"); 
    //--> 
</script> 

当然我会在头部以及我的中调用Spry CSS和JavaScript文件。

当我只使用jQuery validate()插件并单击发送按钮时,页面会自动回到第一个错误的输入字段并显示错误类型(不是数字,不是有效的电子邮件等)。

但是,使用这个新功能,这个“回归到第一个错误”功能不起作用,当然,因为validate()函数看起来很好。

我已经添加了一个规则的另一种形式(约图片上传),它是这样的:

$("#commentForm").validate({ 
    rules: { 
     foto34: { 
      required: true, 
      accept: "jpg|png|gif" 
     } 
    } 
}); 

现在的问题是,我怎么可以添加特殊的验证功能作为整个验证规则处理?

下面是该页面更好地理解它:link text和专业是第一个:CPF。

我希望我很清楚地解释我的问题。

回答

0

我会在我找到解决方案时回答我自己的问题。 我添加了JavaScript函数就像这个DOM准备开业前检查我的公积金号(巴西ID号):

jQuery.validator.addMethod(
    "cpf", 
    function (valor){ 
     ... 
    }, 
    "CPF inv&aacute;lido" 
); 

,然后在这里不用我的DOM准备:

$(document).ready(function(){ 
    $("#commentForm").validate({ 
     rules: { 
      campocpf: { 
       required:true, 
       cpf:true 
      }, 
     } 
    }); 
}); 

如果是这样对一些巴西人感兴趣,我可以展示CPF验证的全部功能(使用我自己的编号进行检查)。我还有另一个CNPJ号码(巴西公司的号码)。