User input confrmation in form

Iโ€™m hoping to create a form that forces the user to confirm inputs were correct using a checkbox before submit button is shown (allowed to click). Below is my attempt at achieving this but am thrown a Missing Submit Button error. What would be the way to approach this?

with st.form(key="add_record", clear_on_submit= True):
    with st.container():
        c1, c2, c3 = st.columns(3)
        with c1:
            add_name = st.text_input(label='Player name', placeholder='project title here')
        with c2:
            add_date = st.date_input(label='Date', max_value=datetime.now())
        with c3:
            add_score = st.number_input(label='Score', max_value=999, format='%d')
    if st.checkbox(label='I have checked all input fields and confirm that values are correct'):
        submit_to_record = st.form_submit_button("Add")

Hi @jensenmw , forms are to be used when you generally want to batch-submit your inputs. If you put a confirmation checkbox within the form, it will be submitted along with the rest of your form widgets, and would technically defeat your intended purpose of submitting only after confirming.

I suggest the following:
a. Donโ€™t use forms in this case. Just use your standard widgets as required.
b. If the confirmation checkbox is checked, then process all the other widget data as required.

Cheers

2 Likes

I donโ€™t mind if the checkbox is submitted or not. I was hoping to achieve something along the line of what you commented in this post:

with the addition of a confirmation checkbox forcing that extra action from user as a step to guard against submitting without thinking.

1 Like

This would be a very useful feature to have within forms. @jensenmw did you find a way to implement this?

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.