class SigninDataModel(Model): """ email和nickname是二选一,但是model中没法体现,要代码检测 """ email = EmailType(min_length=3, max_length=config.USER_EMAIL_MAX, metadata=ValidatorDoc('邮箱')) nickname = StringType(metadata=ValidatorDoc('昵称')) password = StringType(required=True, metadata=ValidatorDoc('密码'))
class SignupDirectDataModel(Model): email = EmailType(min_length=3, max_length=config.USER_EMAIL_MAX, required=True, metadata=ValidatorDoc('邮箱')) password = StringType(required=True, min_length=6, max_length=64, metadata=ValidatorDoc('密码')) nickname = nickname_type
class SigninDataModel(Model): email = EmailType(min_length=3, max_length=30, metadata=ValidatorDoc('Email')) username = StringType(min_length=2, max_length=30, metadata=ValidatorDoc('Username')) password = StringType(required=True, min_length=6, max_length=64, metadata=ValidatorDoc('Password'))
class SigninDataModel(Model): """ email和nickname是二选一,但是model中没法体现,要代码检测 """ email = email_type nickname = nickname_type password = StringType(required=True, metadata=ValidatorDoc('密码'))
class SignupRequestByEmailDataModel(Model): """ 申请进行邮箱注册 """ email = EmailType(min_length=3, max_length=config.USER_EMAIL_MAX, required=True, validators=[email_exists_check], metadata=ValidatorDoc('邮箱')) password = StringType(required=True, min_length=6, max_length=64, metadata=ValidatorDoc('密码')) nickname = StringType(min_length=2, max_length=10, metadata=ValidatorDoc('昵称'))
class SignupDirectDataModel(Model): """ 直接注册(不需要邮件确认) """ email = email_type_required password = StringType(required=True, min_length=6, max_length=64, metadata=ValidatorDoc('密码')) nickname = nickname_type
class ChangePasswordDataModel(Model): old_password = StringType( required=True, metadata=ValidatorDoc('旧密码') ) # va.Length(config.USER_PASSWORD_MIN, config.USER_PASSWORD_MAX) password = StringType(required=True, metadata=ValidatorDoc('新密码'))
class ValidatePasswordResetPostDataModel(Model): password = StringType(required=True, metadata=ValidatorDoc('新密码')) uid = BlobType(required=True) code = BlobType(required=True)
class SignupConfirmByEmailDataModel(Model): """ 注册时点击注册邮件,进行确认 """ email = email_type_required code = BlobType(required=True, metadata=ValidatorDoc('验证码'))
config.USER_NICKNAME_CN_FOR_REG_MIN): raise ValidationError(text) elif config.USER_NICKNAME_CN_FOR_REG_MIN > config.USER_NICKNAME_FOR_REG_MIN: if not (len(re.findall(r'[a-zA-Z0-9]', name)) >= config.USER_NICKNAME_FOR_REG_MIN): raise ValidationError(text) if config.USER_NICKNAME_CHECK_FUNC and not config.USER_NICKNAME_CHECK_FUNC( name): raise ValidationError('昵称被保留') _email_type_kwargs = { 'min_length': 3, 'max_length': config.USER_EMAIL_MAX, 'metadata': ValidatorDoc('邮箱') } _nickname_type_kwargs = { 'min_length': min(config.USER_NICKNAME_CN_FOR_REG_MIN, config.USER_NICKNAME_FOR_REG_MIN), 'max_length': config.USER_NICKNAME_FOR_REG_MAX, 'validators': [nickname_check, nickname_exists_check], 'metadata': ValidatorDoc('昵称') } email_type = EmailType(**_email_type_kwargs) email_type_required = EmailType(required=True, **_email_type_kwargs)
class SignupConfirmByEmailDataModel(Model): email = EmailType(min_length=3, max_length=config.USER_EMAIL_MAX, required=True, metadata=ValidatorDoc('邮箱')) code = BlobType(required=True, metadata=ValidatorDoc('验证码'))
raise ValidationError(text) elif config.USER_NICKNAME_CN_FOR_REG_MIN > config.USER_NICKNAME_FOR_REG_MIN: if not (len(re.findall(r'[a-zA-Z0-9]', name)) >= config.USER_NICKNAME_FOR_REG_MIN): raise ValidationError(text) if config.USER_NICKNAME_CHECK_FUNC and not config.USER_NICKNAME_CHECK_FUNC( name): raise ValidationError('昵称被保留') nickname_type = StringType(min_length=min(config.USER_NICKNAME_CN_FOR_REG_MIN, config.USER_NICKNAME_FOR_REG_MIN), max_length=config.USER_NICKNAME_FOR_REG_MAX, validators=[nickname_check, nickname_exists_check], metadata=ValidatorDoc('昵称')) class ValidatePasswordResetPost(Model): password = StringType(required=True, metadata=ValidatorDoc('新密码')) uid = BlobType(required=True) code = BlobType(required=True) class ChangePasswordDataModel(Model): old_password = StringType( required=True, metadata=ValidatorDoc('旧密码') ) # va.Length(config.USER_PASSWORD_MIN, config.USER_PASSWORD_MAX) password = StringType(required=True, metadata=ValidatorDoc('新密码'))
def test_create_and_read(): doc = ValidatorDoc('qqqq', {}) assert doc.description == 'qqqq' assert doc.schema == {}