def monkey_patch_email_field(form_class):
""" We use our monkey patched Email validator, and also a html5 email input.
"""
from wtforms.fields.html5 import EmailField
from flask_security.forms import (email_required,
unique_user_email,
get_form_field_label)
import wtforms.validators
from pygameweb.user.rbl import rbl
def rbl_spamlist_validator(form, field):
""" If the ip address of the person signing up is listed in a spam list,
we abort with an error.
"""
remote_addr = request.remote_addr or None
if rbl(remote_addr):
abort(500)
email_validator = wtforms.validators.Email(message='INVALID_EMAIL_ADDRESS')
form_class.email = EmailField(get_form_field_label('email'),
validators=[email_required,
email_validator,
rbl_spamlist_validator,
unique_user_email])
评论列表
文章目录