我的表单中有一个login()函数,我想返回其中特定字段的错误,我的问题是,我如何做类似的事情,这是我当前的函数:
class LoginForm(FlaskForm):
email = StringField('Email',
validators=[DataRequired(), Email()])
password = PasswordField('Password', validators=[DataRequired()])
remember = BooleanField('Remember Me')
submit = SubmitField('Login')
def validate_email(self, email):
user = models.User.query.filter_by(email=email.data).first()
if user is None:
raise ValidationError('Such user not found')
def login(self, user):
if check_password_hash(user.password, self.password.data):
flash('Logged in successfully!', category='success')
login_user(user, remember=self.remember.data)
return True
else:
raise LoginException('Wrong Password')
我应该只是闪现错误,还是应该将其重新制作成一个单独的验证密码功能?例如,如果有一种方法可以返回LoginException,使其显示在我的密码字段下,我很乐意知道
我想我已经为你找到了解决办法。这就是你想要的吗
您还可以将
valid_credentials (form, field)
移动到表单中,和/或只向validators
列表传递一个验证函数确保您没有告诉用户哪个表单字段包含错误,并且用户可以更容易地猜测访问数据
相关问题 更多 >
编程相关推荐