Я строю простой пользовательский интерфейс с двумя выпадающими списками.Основываясь на том, что выбрано в первом раскрывающемся списке, второй раскрывающийся список заполняется некоторыми новыми значениями через jquery / AJAX.Проблема заключается в том, что при отправке формы проверка формы по ошибке завершается ошибкой, поскольку во втором возвращающемся раскрывающемся списке отсутствует параметр, который был создан в первом списке.
Я получил егоработать, вводя все данные, которые были отправлены из выпадающего списка 2 в объект формы, прежде чем проверять форму.Этот код показан ниже, но выглядит как хакерское решение.
form = SearchForm(request.form)
# dropdown 1
form.node_type.choices = [('default', 'Please select a node type')]
form.node_type.choices.extend([(t, t) for t in node_types()])
# dropdown 2
form.node_name.choices = [('default', 'Select a node type first')]
if request.method == 'POST':
# the below 2 lines are the hack that make it work.
node_name = request.form.get('node_name')
form.node_name.choices.append((node_name, node_name))
if form.validate():
print('hooray')
Существует ли стандартный / рекомендуемый способ динамического добавления параметров на стороне клиента и при этом WTForms правильно выполняют проверку формы?