Javascript JQuery验证在保存按钮单击处理程序中不起作用

Javascript JQuery验证在保存按钮单击处理程序中不起作用,javascript,jquery,html,validation,Javascript,Jquery,Html,Validation,我已经尝试了几个小时,以使验证工作,但无济于事。我在输入元素中包含了name属性。脚本源也包括在内。验证方法也已启动。内容未经验证。有人能看到我的代码有什么问题吗?提前谢谢。 圣诞快乐 我的Html代码 <input type="text" id="sessionSynopsisNameInput" name="sessionSynopsisNameInput" class="form-control input-group-lg" maxlength="70" placeholde

我已经尝试了几个小时,以使验证工作,但无济于事。我在输入元素中包含了name属性。脚本源也包括在内。验证方法也已启动。内容未经验证。有人能看到我的代码有什么问题吗?提前谢谢。 圣诞快乐

我的Html代码

<input type="text" id="sessionSynopsisNameInput" name="sessionSynopsisNameInput" 
  class="form-control input-group-lg" maxlength="70" placeholder="Session Name" value=""/>
<div class="errMsg"></div>
验证方法在保存按钮单击处理程序中调用

$('#saveButton').on('click', function () {
    $('#dataForm').validate();
});
这些是我包含的脚本源代码

<script src="~/lib/jquery/dist/jquery.js"></script>
<script src="~/lib/jquery-validation/dist/jquery.validate.js"></script>
<script src="~/lib/jquery-validation/dist/additional-methods.js"></script>

lettersonly已经有了其他方法,我必须更改名称lettersonly 1,它工作正常,您可以在示例中查看

setupFormValidationRules();
函数setupFormValidationRules(){
$.validator.addMethod('letersonly1',函数(值,元素){
返回此.optional(元素)| |/^[^-\s][a-zA-Z\s-]+$/.test(值);
});
$(“#数据表单”)。验证({
规则:{
会话同步名称输入:{
要求:正确,
信1:是的
}
},
信息:{
会话同步名称输入:{
必需:“请输入会话摘要名称”,
字母LY1:“只允许使用空格和字母”
}
}
});
}
$(函数(){
$('#dataForm').validate()
})
$(“#数据表单”)。在(“提交”,函数()上{
if($(this).valid()){
console.log('submit');
$(this.submit();
}
返回false;
})

拯救

我不知道为什么表单仍然允许我发布空白。即使调用了lettersonly1,但当我在同一页面中第二次提交时,它允许提交。我已更新我的代码。请将按钮类型更改为“提交”,如果您已将其定义为“按钮”,并将表单验证方法更改为“准备就绪”功能,请进行更改,然后选中“嗨”,抱歉,回复太晚。它不起作用。显示错误消息,但仍允许接受空空格和值。然后您需要更改不应接受空格的regexp。我建议在输入中添加required或letteronly属性element@R.S.没关系,事实上,通过这种方法,我们也可以定义自定义消息。@R.S.在规则
sessionSynopsisNameInput
中是id,因此它将仅验证此id。您已获得它,谢谢
<script src="~/lib/jquery/dist/jquery.js"></script>
<script src="~/lib/jquery-validation/dist/jquery.validate.js"></script>
<script src="~/lib/jquery-validation/dist/additional-methods.js"></script>