2016-08-09 1 views
2

ReCaptcha를 사용하여 양식을 mvc 컨트롤러에 게시하려고합니다. 나는 데이터가 그러나 내가 컨트롤러에서이 데이터를 수신 고민하고 ASP.NET MVC에서 g-recaptcha-response를 잡는 방법은 무엇입니까?

enter image description here

을 발사 볼 수 있습니다 크롬에서 네트워크 모니터
<div class="g-recaptcha" data-sitekey="some_site_key"></div> 

, 나는 ViewModel에 [Required(AllowEmptyStrings = false, ErrorMessage = "Captcha required")] public string googleCaptcha { get; set; }

를 사용하여 시도

하지만 변수를 매핑 할 수 없습니다. googleCaptchag-recaptcha-response에 내가 그렇게 할 수있게 해주는 것? C#을 그 명명 규칙

허용하지 않기 때문에

내가 분명히 변수 그램-reCAPTCHA를 응답의 이름을 수 없습니다

답변

1

당신이 별칭을 지정할 수있는 사용자 지정 바인딩 속성을 만드는 몇 가지 예제가 있습니다, 여러 속성 앨리어싱 경우 내가 갈 것 방법이다 : 일회성 접근 방식, 그러나 https://ole.michelsen.dk/blog/bind-a-model-property-to-a-different-named-query-string-field.html

, 나는 단순히 제출 된 값을 읽을 것이며, 수동으로 속성을 설정 :

[HttpPost] 
public ActionResult SubmitAction() 
{ 
    var recaptchaResponse = Request["g-recaptcha-response"]; 

    var myCaptcha = new MyCaptcha(); 
    myCaptcha.googleCaptcha = recaptchaResponse 

    //.. 
} 
+0

마지막으로 감사드립니다. – Castaldi

관련 문제