from flask_wtf.recaptcha.fields import RecaptchaField
from wtforms import Form, BooleanField, StringField, PasswordField, IntegerField, validators
from flask import render_template, request, redirect, url_for, jsonify
class InquiryForm(Form):
email = StringField('email', [validators.Email(message=(u'invalid email address'))])
recaptcha = RecaptchaField()
@app.route('/inquiry', methods=['POST','GET'])
def inquiry():
form = InquiryForm(request.form)
if request.method == 'POST' and form.validate():
return jsonify({'success' : 'Message sent'})
else:
# request.form.get('g-recaptcha-response')
# google recaptcha v2 validate return
if request.form.get('g-recaptcha-response') and form.recaptcha.errors:
form.recaptcha.errors.append("System has detected possible suspicious activity, please refresh this page.")
form.recaptcha.errors.reverse()
elif form.recaptcha.errors:
form.recaptcha.errors.append("Need to validate recaptcha")
form.recaptcha.errors.reverse()
return jsonify(form.errors)
这是我附加自定义recaptcha错误消息的方法