使用JavaScript提交MVC表单并仍生成AntiForgeryToken

使用JavaScript提交MVC表单并仍生成AntiForgeryToken,javascript,jquery,asp.net,asp.net-mvc,antiforgerytoken,Javascript,Jquery,Asp.net,Asp.net Mvc,Antiforgerytoken,我遇到了这样一个场景:当用户单击表单标记外的按钮时,我必须使用JavaScript(form.submit())以编程方式提交asp.net MVC表单 我相信在这种情况下,没有任何内置的ASP.NET MVC功能被应用。如果我错了,请纠正我 未验证任何AntiForgery令牌(应与控制器标记[ValidateAntiforgeryToken]一起使用) 不引人注目的验证不起作用 我假设在这种情况下,除了找出处理CSRF的另一种方法外,真的没有太多的选择。此外,处理客户端验证的另一种方法是,无

我遇到了这样一个场景:当用户单击表单标记外的按钮时,我必须使用JavaScript(form.submit())以编程方式提交asp.net MVC表单

我相信在这种情况下,没有任何内置的ASP.NET MVC功能被应用。如果我错了,请纠正我

  • 未验证任何AntiForgery令牌(应与控制器标记[ValidateAntiforgeryToken]一起使用)
  • 不引人注目的验证不起作用

  • 我假设在这种情况下,除了找出处理CSRF的另一种方法外,真的没有太多的选择。此外,处理客户端验证的另一种方法是,无法基于模型数据批注进行验证。

    如果指定,ValidateAntiforgeryToken将在服务器端进行处理。它必须存在于已发布的有效负载中,但form.serialize()将执行此操作。当它挂接到表单
    submit
    eventOK时,不引人注目的验证将被忽略,因此您说我不必担心ValidateAntiForgeryToken,因为它在使用AJAX和数据时会被发送:$(“#myForm”)。serialize()。。。但是,就模型的不引人注目的验证而言,我基本上只能使用jQuery验证来手动验证所有内容,而不依赖ViewModel注释。对吗?@gonecodingbye我之所以问这个不引人注目的验证问题,是因为我使用的是一个带有向导的表单,使用jQuery步骤。每次单击“继续”按钮时,这不是实际的“提交”按钮,我仍然希望使用不引人注目的验证来验证每个步骤。。。我想这是不可能的。我想知道为什么没有办法手动调用非侵入性验证。没有什么可以阻止您自己调用非侵入性验证(只是工作中无法提供的信息,祝您好运)。@gonecoding谢谢您提供的信息!我还没有找到类似的例子。