Javascript jquery-如何验证签名输入?

Javascript jquery-如何验证签名输入?,javascript,jquery,Javascript,Jquery,我有一个表单,要求用户在注册前输入他们的数字签名。如下所示: 所以在注册之前,用户必须在提供的画布框中输入他们的签名。在进入最后一页进行签名之前,我使用jquery验证来验证我的其他字段 我可以验证除签名字段以外的所有字段。知道我能做什么吗 请提供您的签名 重置 拯救 注册 var canvas=document.querySelector(“canvas”); const signatureSaveButton=document.getElementById(“saveSignature

我有一个表单,要求用户在注册前输入他们的数字签名。如下所示:

所以在注册之前,用户必须在提供的画布框中输入他们的签名。在进入最后一页进行签名之前,我使用jquery验证来验证我的其他字段

我可以验证除签名字段以外的所有字段。知道我能做什么吗


请提供您的签名

重置 拯救 注册
var canvas=document.querySelector(“canvas”);
const signatureSaveButton=document.getElementById(“saveSignature”);
const signatureResetButton=document.getElementById(“resetSignature”);
const signatureError=document.getElementById(“signatureError”);
const signatureInput=document.getElementById(“signatureInput”);
//初始化新的signaturePad实例。
var signaturePad=新的signaturePad(画布);
//清除签名板。
signatureResetButton.addEventListener(“单击”,函数(事件){
signaturePad.clear();
});
//将签名板另存为数据url。
signatureSaveButton.addEventListener(“单击”),函数(事件){
if(signaturePad.isEmpty()){
signatureError.style.display=“block”;
}否则{
signatureUrl=signaturePad.toDataURL();
signatureInput.value=signatureUrl;
}
});
//在移动到下一个选项卡之前验证注册选项卡
$(“#登记表”)。验证({
规则:{
电邮:{
要求:正确,
//指定应验证的电子邮件
//根据内置的“电子邮件”规则
电子邮件:真的
},
密码:{
要求:正确,
最小长度:8,
},
密码确认:{
要求:正确,
最小长度:8,
equalTo:“#密码”
},
全名:{
必填项:true
},
nric:{
必填项:true
},
地址(一){
必填项:true
},
地址(二){
必填项:true
},
地址(三){
必填项:true
},
邮政编码:{
必填项:true
},
城市:{
必填项:true
},
声明:{
必填项:true
},
联系电话(家庭):{
必填项:true
},
联系电话(手机):{
必填项:true
},
现有客户:{
必填项:true
},
签名错误:{
必填项:true
},
},
信息:{
电邮:{
必填:“请输入电子邮件”,
电子邮件:“电子邮件无效”
},
密码:{
必填:“请输入密码”,
minlength:“密码必须至少包含8个字符”
},
密码确认:{
必填:“请确认您的密码”,
minlength:“密码必须至少包含8个字符”,
equalTo:“密码必须与上面相同”
},
全名:{
必填:“请输入您的全名”
},
nric:{
必填:“请输入您的身份证号码”
},
地址(一){
必填:“请输入您的地址”
},
地址(二){
必填:“请输入您的地址”
},
地址(三){
必填:“请输入您的地址”
},
邮政编码:{
必填:“请输入您的邮政编码”
},
城市:{
必填:“请选择您的城市”
},
声明:{
必需:“请选择您所在的州”
},
联系电话(家庭):{
必填:“请输入您的家庭号码”
},
联系电话(手机):{
必填:“请输入您的手机号码”
},
签名错误:{
必填:“请提供您的签名”
},
}
});
//验证第一个选项卡中的字段
$(“#下一个btn”)。单击(函数(){
if($(“#注册表格”).validate().element(“#电子邮件”)&&$(“#注册表格”).validate().element(“#密码”)&&&$(“#注册表格”).validate().element(“#密码确认”){
nextTab.find('a')。trigger('click');
}else{}
});
//验证第二个选项卡中的字段
$('#next-btn2')。单击(函数(){
如果($(“#注册表格”).validate().element(“#全名”)和&$(“#注册表格”).validate().element(“#nric”)和&$(“#注册表格”).validate().element(“#地址#1”)和&$(“#注册表格”).validate().element(“#地址#地址#2”)和&$(#注册表格”).validate().element(#地址#邮政编码&$).register().element(#&&
$(“#登记表”).validate().element(“#城市”)和&$(“#登记表”).validate().element(“#州”)和&$(“#登记表”).validate().element(“#联系电话#家庭”)&&
$(“#注册表单”).validate().element(“#联系电话号码(移动电话))和&$(“#注册表单”).validate().element(“#现有客户”)
) {
nextTab.find('a')。trigger('click');
}else{}
});
//验证第三个选项卡中的签名输入
$(“#提交”)。单击(函数(){
if($(“#注册表表单”).validate().element(“#signatureError”)){
警惕(“成功”);
}否则{
警报(“故障”);
}
});
如果您使用的是Szymon Nowak,那么看起来您的设置是正确的

编辑:好的,我得到了签名字段作为验证的一部分。您不需要忽略隐藏字段

不要验证错误消息,LOL。验证实际字段

此外,我还添加了一个自定义验证器来处理签名板的验证,但是由于它在点击save时设置了隐藏签名字段的值,所以我们只需要