Flask WTForm: пользовательская проверка на основе нескольких полей формыPython

Программы на Python
Anonymous
Flask WTForm: пользовательская проверка на основе нескольких полей формы

Сообщение Anonymous »

Я застрял при создании валидатора для своей формы Flask, я следовал инструкциям из других вопросов/цепочек, но ни одна из них не работает.
Ниже приведена моя форма: р>

Код: Выделить всё

class RegisterForm(FlaskForm):
artist = BooleanField("Are you an artist?", default=False)
organiser = BooleanField("Do you organise events?", default=False)
dj = BooleanField("Are you a DJ?", default=False)

proof_photo = FileField(label="Upload proof photo (artists and/ or organisers, only)", description="Please upload a photo proof", validators=[FileAllowed(['jpg', 'png'], 'JPG or PNG only, please.'))
proof = StringField("Evidence of being artist/ organiser", description="URL to your videos")
submit = SubmitField("Sign me up!")
Я пытаюсь сделать следующее: если какой-либо из трех: исполнитель, организатор или диджей отмечен как True, поля proof_photo и proof станут обязательными.
Я попробовал ниже, но, к сожалению, это не работает, и я не уверен, что Я делаю неправильно.

Код: Выделить всё

def authorisation_check(self):
if not super(RegisterForm, self).validate():
return False
if (self.artist.data == True or self.organiser.data == True or self.dj.data == True) and  not (self.proof_photo.data and self.proof.data):
msg = 'Please submit your proof'
self.proof_photo.errors.append(msg)
self.proof.errors.append(msg)
return False
return True
Если кто-нибудь сможет мне помочь с этим, буду очень признателен :)
Спасибо

Подробнее здесь: https://stackoverflow.com/questions/790 ... orm-fields

Вернуться в «Python»