C# 添加JQuery验证插件后,表单[";key";]为空

C# 添加JQuery验证插件后,表单[";key";]为空,c#,asp.net-mvc-5,jquery-validate,unobtrusive-validation,C#,Asp.net Mvc 5,Jquery Validate,Unobtrusive Validation,我有一个带有两个提交按钮的表单的编辑视图: <input type="submit" name="save" value="@Resources.Save" class="btn btn-default" /> <input type="submit" name="delete" value="@Resources.Delete" class="btn btn-danger" /> 因此,在我添加jQuery验证插件和jQuery Validate Unobstru

我有一个带有两个提交按钮的表单的编辑视图:

<input type="submit" name="save" value="@Resources.Save" class="btn btn-default" />  
<input type="submit" name="delete" value="@Resources.Delete" class="btn btn-danger" />
因此,在我添加jQuery验证插件和jQuery Validate Unobstructive(我需要进行
远程
验证)之前,一切都很正常。。它破坏了我申请中记录的删除

我的
请求。表单[“delete”]
现在总是
null
。请注意,
Request.Form
确实包含表单中的所有其他值(过去它工作正常)


有人知道我如何解决这个问题吗?

我通过在我的删除按钮中添加
formnovalidate
来解决我的问题:

从Jquery验证参考文档():

在提交时跳过验证

要在仍使用提交按钮时跳过验证,请将属性“formnovalidate”添加到该输入:

1

2

这通常是通过向输入中添加class=“cancel”来实现的,现在不推荐使用


因此,
jquery.validate
jquery.validate.unobtrusive
库中的某些内容阻止了我提交删除值,但我不确定它是什么..

请使您的问题完全独立,这样您就不需要阅读其他答案/问题才能理解。顺便说一句,jQuery验证插件不会改变本机表单提交或提交按钮的行为,也不会破坏服务器端代码。它仅在表单数据根据您定义的规则保持“无效”时停止表单提交。同时,如果您真的认为jQuery Validate可能会破坏这一点,那么向我们展示相关代码将更有意义。。。您对
.validate()
的调用和表单的HTML,而不是以前运行良好的代码。您甚至从未声明过验证本身是否有任何作用。@Sparky,您提出了一些好的观点,但为我辩护,所有相关的代码都显示在我的问题中;将
jquery.validate.js
jquery.validate.unobtrusive.js
库添加到我的项目后(我认为后者导致了我的问题,我在这里应该更清楚),两个提交按钮的行为完全相同,而之前的删除按钮将提交一个与保存按钮相比的附加值。我从未调用过
.validate()
,这是由ASP.NET MVC框架完成的,因此该部分没有显示代码。
if (Request.Form["delete"] != null)
{
    // delete    
}
else
{
    // edit
}