我决定在我的项目中使用 BotDetect Captcha 来阻止垃圾邮件,但是,由于 Razor Pages 不支持过滤器,我无法检查用户是否输入了正确的验证码。
在他们的网站上,他们说使用此属性来检查验证码是否有效
[CaptchaValidationActionFilter("CaptchaCode", "ExampleCaptcha", "Wrong Captcha!")]
但是,剃刀页面不允许页面方法上的属性。
挖掘属性的源代码,我发现了这个
MvcCaptcha mvcCaptcha = new MvcCaptcha(this.CaptchaId);
if (mvcCaptcha.IsSolved) { }
但是,当我直接在OnPost
方法中尝试该代码时,mvcCaptch.IsSolved
总是返回 false。
检查会话变量还显示了BDC_
此控件工作所需的所有值,所以我在这里碰壁了。希望有人可以帮助我。谢谢。
官方文档,如果它有帮助,虽然,我在网站https://captcha.com/mvc/mvc-captcha.html上找不到任何对 Razor 页面的引用