我在这里遇到了一个陷阱22。我有一个问题,这两个属性不能一起工作。如果我从控制器操作中删除[AllowHtml]
属性,则我的属性上的[CaptchaVerify]
属性有效。
我正在
从中检测到一个潜在危险的Request.Form值 客户端
异常。
我怎样才能解决这个问题?
这是我应该允许html的属性:
[AllowHtml]
[Required(ErrorMessage = "Please enter a comment.")]
public string CommentText
{
get; set;
}
我的视图看起来像这样(我已经为此示例截断了它):
@using CaptchaMvc.HtmlHelpers
@using (Html.BeginForm("Article", "Home", FormMethod.Post))
{
@Html.TextBoxFor(m => m.CommentText, new { @class = "form-control" })
@Html.Captcha("Refresh", "Enter the phrase shown above", 4, "Captcha image is required.", false)
<input type="submit" value="Post" />
}
我的控制器看起来像这样:
[HttpPost]
[CaptchaMvc.Attributes.CaptchaVerify("Captcha is not valid")]
public async Task<ActionResult> Article(ArticleModel model)
{
// Check the captcha.
if (ModelState["CaptchaInputText"] != null && ModelState["CaptchaInputText"].Errors.Count > 0)
{
ViewBag.CaptchaError = "Please fill in the text above";
}
// Rest of my action
}
答案 0 :(得分:1)
我下载了源代码,并找到了解决方案。
不幸的是,他们需要对源代码进行更改 https://captchamvc.codeplex.com/workitem/11
您可以按照上面的链接下载源代码并进行更改,或者等待更新源代码。