迭代无线电字段的“无效选择”输出

问题描述

我正在尝试创建一个静态的但基于预定值可变的表单。当前,问题在于名称和netID字段已存储和收集,但是验证问题时出现问题。

SignupInfoForm是父表单,而SignupForm是子表单。

### forms.py
class SignupForm(FlaskForm):
    """
    Form for students to input availability
    """
    question = RadioField('Availability',validators=[Datarequired()],choices=[('Yes','Yes'),('No','No')])

class SignupInfoForm(FlaskForm):
    """
    """
    name = StringField('Name',validators=[Datarequired()])
    netID = StringField('NetID',validators=[Datarequired()])
    questions = FieldList(FormField(SignupForm))
    submit = SubmitField('Submit')

作业数确定应显示的SignupForm实例数。

### views.py
@admin.route('/associates/signup<int:formNumber>',methods=['GET','POST'])
def signup_form_associate(formNumber):
    """
    Todo
    Processes jobs as a form
    Sends out the form in an email
    """
    ...
    
    form = SignupInfoForm()

    for job in jobs:
        qfield = form.questions.append_entry().question
        qfield.label = Label(qfield.id,job)
    
    print(form.questions.errors)

    if form.validate_on_submit():
        print("Name: ",form.name.data)
        print("NetID: ",form.netID.data)
        print("Questions: ",form.questions.data)

    # redirect to the associate job page
    return render_template('admin/associates/associate-sentout.html',form=form,title="Associates Signup: Form " + str(formNumber))

HTML文件

<form method="post">
    {{ form.csrf_token }} {{ form.hidden_tag() }} 
    {{ wtf.form_field(form.name,class='form-control',placeholder='Name') }} 
    {{ wtf.form_field(form.netID,placeholder='NetID') }} 
    {% for q in form.questions %}
        {{ wtf.form_field(q) }} 
    {% endfor %} 
    {{ wtf.form_field(form.submit,placeholder='Submit') }}
</form>

当我打印form.questions.error时,它为SignupForm的每个“问题”字段输出“无效选择”。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)