验证,向克隆元素添加自定义消息

时间:2014-02-24 21:55:53

标签: jquery validation

我已经克隆了几个表单字段并尝试添加jquery验证(http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.min.js

我添加了以下行(此示例取自之前针对类似问题的答案之一)但不起作用。

 $("#NameOnCard"+uniqueId).rules("add", { required:true,minlength:3,maxlength:15 });

请参阅演示。

JS FIDDLE

1 个答案:

答案 0 :(得分:0)

您的代码中出现了一些导致问题的错误。其中一些可能仅仅是因为你将它复制到你的jsFiddle,但我会在这里展示它们:

  • 您需要在加载页面后调用$.validate,而不是在提交按钮的click处理程序中调用submitHandler。您根本不需要点击处理程序,因为插件会为您处理所有事情(如果有效则调用$(document).ready(function(){ $('#iPayForm').validate({ // initialize the plugin //all your options here }); });

代码:

id
  • 您的表单需要在$.validate来电中提及<form class="form-horizontal >

你有:

<form class="form-horizontal" id="iPayForm" > 

应该是:

$('#' + divID).find('input,select').each(function () { 
        $(this).attr('id', ($(this).attr('id')).slice(0,-1) + uniqueId);    
        $(this).attr('name', ($(this).attr('name')).slice(0,-1) + uniqueId);
       $(this).val('');

    });
    $("#NameOnCard"+uniqueId).rules("add", { required:true,minlength:3,maxlength:15 });
  • 当您克隆付款信息时,您将添加规则代码放在删除按钮的单击处理程序中。相反,它需要进入添加按钮的点击处理程序。

应该是这样的:

{{1}}

我在这里做了一个“工作”演示:http://jsfiddle.net/tK4f6/21/