def METHOD_NAME(self, value):
    super(ReCaptchaField, self).METHOD_NAME(value)
    try:
        check_captcha = client.submit(
            recaptcha_response=value,
            private_key=self.private_key,
            remoteip=self.get_remote_ip(),
        )
    except HTTPError:  # Catch timeouts, etc
        raise ValidationError(
            self.error_messages["captcha_error"],
            code="captcha_error"
        )
    if not check_captcha.is_valid:
        logger.warning(
            "ReCAPTCHA validation failed due to: %s" %
            check_captcha.error_codes
        )
        raise ValidationError(
            self.error_messages["captcha_invalid"],
            code="captcha_invalid"
        )
    required_score = self.widget.attrs.get("required_score")
    if required_score:
        # Our score values need to be floats, as that is the expected
        # response from the Google endpoint. Rather than ensure that on
        # the widget, we do it on the field to better support user
        # subclassing of the widgets.
        required_score = float(required_score)
        # If a score was expected but non was returned, default to a 0,
        # which is the lowest score that it can return. This is to do our
        # best to assure a failure here, we can not assume that a form
        # that needed the threshold should be valid if we didn't get a
        # value back.
        score = float(check_captcha.extra_data.get("score", 0))
        if required_score > score:
            logger.warning(
                "ReCAPTCHA validation failed due to its score of %s"
                " being lower than the required amount." % score
            )
            raise ValidationError(
                self.error_messages["captcha_invalid"],
                code="captcha_invalid"
            )