我正在使用jquery.validate.js来验证表单中的多个字段以及smizek 的 signature_pad。我想验证是否在验证所有其他输入字段的同时在 html 画布(签名板)上绘制了某些内容。
不幸的是,向 jquery 验证提交处理程序添加一个函数来检查画布是否有签名是不够的,因为这仅在满足所有其他必填字段时才会触发。我可以将方法添加到 jquery 验证器,但我很确定这些方法只适用于验证输入的内容——而不是画布。
我可以使用“signaturePad.isEmpty()”检查签名是否存在。理想情况下,有一种方法可以添加这样的函数,该函数与任何验证同时发生:
var errorExists = false;
if( signaturePad.isEmpty()){
if (errorExists == false){
$( "#signature-pad" ).append( "<div id="sig-error">A signature is required</div>" );
errorExists = true;
}
}else if( !signaturePad.isEmpty()) {
if (errorExists == true){
$('#sig-error').remove();
}
}
...并且只有在满足 jquery 验证和签名的情况下才继续实际提交表单。
有没有办法在其他验证发生的同时触发函数——而不是之后?除非满足我的两个条件,否则我如何阻止表单提交 - 而不仅仅是 jquery 验证?