添加 JQuery 验证插件后 Request.Form["key"] 为空
Request.Form["key"] is null after adding JQuery Validate plugin
我有一个带有表单的编辑视图,其中有两个提交按钮:
<input type="submit" name="save" value="@Resources.Save" class="btn btn-default" />
<input type="submit" name="delete" value="@Resources.Delete" class="btn btn-danger" />
在这里我可以保存或删除记录。
然后在我的控制器中我这样做:
if (Request.Form["delete"] != null)
{
// delete
}
else
{
// edit
}
所以一切正常,直到我添加了 jQuery 验证插件和 JQuery Validate Unobstrusive(我需要进行 Remote
验证)。它破坏了记录的删除我的申请。
我的 Request.Form["delete"]
现在总是 null
。请注意,Request.Form
确实包含表单中的所有其他值(并且它过去工作正常)。
有人知道我该如何解决这个问题吗?
我通过向我的删除按钮添加 formnovalidate
设法解决了我的问题:
<input id="delete" formnovalidate type="submit" name="delete" value="@Resources.Delete" class="btn btn-danger" />
来自 Jquery 验证参考文档 (here):
Skipping validation on submit
To skip validation while still using a submit-button, add the attribte "formnovalidate" to that input:
1 <input type="submit" name="go" value="Submit">
2 <input type="submit" formnovalidate name="cancel" value="Cancel">
这过去通过在输入中添加 class="cancel" 来工作,现在已弃用。
所以 jquery.validate
或 jquery.validate.unobtrusive
库中的某些东西阻止我提交删除值,但我不确定它是什么..
我有一个带有表单的编辑视图,其中有两个提交按钮:
<input type="submit" name="save" value="@Resources.Save" class="btn btn-default" />
<input type="submit" name="delete" value="@Resources.Delete" class="btn btn-danger" />
在这里我可以保存或删除记录。
然后在我的控制器中我这样做:
if (Request.Form["delete"] != null)
{
// delete
}
else
{
// edit
}
所以一切正常,直到我添加了 jQuery 验证插件和 JQuery Validate Unobstrusive(我需要进行 Remote
验证)。它破坏了记录的删除我的申请。
我的 Request.Form["delete"]
现在总是 null
。请注意,Request.Form
确实包含表单中的所有其他值(并且它过去工作正常)。
有人知道我该如何解决这个问题吗?
我通过向我的删除按钮添加 formnovalidate
设法解决了我的问题:
<input id="delete" formnovalidate type="submit" name="delete" value="@Resources.Delete" class="btn btn-danger" />
来自 Jquery 验证参考文档 (here):
Skipping validation on submit
To skip validation while still using a submit-button, add the attribte "formnovalidate" to that input:
1
<input type="submit" name="go" value="Submit">
2<input type="submit" formnovalidate name="cancel" value="Cancel">
这过去通过在输入中添加 class="cancel" 来工作,现在已弃用。
所以 jquery.validate
或 jquery.validate.unobtrusive
库中的某些东西阻止我提交删除值,但我不确定它是什么..