То, что я в основном ищу, это эквивалентный валидатор RadioField для InputRequired()
для WTForms. Я имею в виду, когда вы пытаетесь отправить форму, не вводя текст в поле StringField, имеющее валидатор InputRequired()
. Пользователь получает подсказку над текстовым полем с надписью "Please fill out this field"
. Я хочу, чтобы пользователь выбрал либо male
, либо female
.
Это легко сделать в HTML-формах, просто включив атрибут required
в свою HTML-форму. Но я не могу понять, что такое эквивалент в WTForms для RadioField. InputRequired()
и DataRequired()
предназначены только для текстовых полей ввода и, похоже, не работают с полями любого другого типа.
Если у меня есть приведенный ниже очень простой класс WTForms для формы регистрации, InputRequired()
прекрасно работает в этом случае, так как дает пользователю подсказку "Please fill out this field"
Если они забывают ввести свои name
или surname
. Форма не будет отправлена, если они не введут данные в эти поля.
class Signup(FlaskForm):
name = StringField('First Name', validators=[InputRequired()])
surname = StringField('Last Name', validators=[InputRequired()])
submit = SubmitField('Signup')
Но если у меня есть приведенная ниже форма с RadioField, какой эквивалентный валидатор заставит пользователя выбрать Male
или Female
, а если он не выберет один, я хочу дать приглашение "please fill out this field"
? (Я использую BootStrap) Я не могу найти информацию об этом. Это существует? Этот вопрос во втором ответе в основном содержал то, что я искал Required="Required"
, но с тех пор он устарел с июня 2018 года. Я пробовал почти все подходы, пытаясь использовать InputRequired()
или DataRequired()
с RadioField
, но безуспешно.
class StudentPersonalQs(FlaskForm):
gender = RadioField('Gender', choices = [('Male','Male'),('Female','Female')])
age = SelectField('Age', choices = [('12', '12'), ('13', '14'),('15', '15'), ('16', '16'),('17', '17'), ('18+', '18+')])
submit = SubmitField('Signup')