WTForms: Optionale Feldliste von Integerfield?Python

Python-Programme
Anonymous
 WTForms: Optionale Feldliste von Integerfield?

Post by Anonymous »

Ich brauche eine optionale Liste von int's in einer wtforms-validierten REST-API.
Im Moment ist dies der relevante Teil meiner Form: >

Code: Select all

from wtforms import IntegerField, FileField, StringField, FieldList
from wtforms.validators import DataRequired, Optional, UUID

class PublishForm(FlaskForm):
# This validates, but the patch_bases list comes up empty.
# patch_bases = FieldList(IntegerField("pb", validators=[Required()]), min_entries=0, max_entries=5, validators=[Optional()])
# This too.
patch_bases = FieldList(IntegerField(), min_entries=0, max_entries=5, validators=[Optional()])
Hier ist der Anruf zum Validieren/Parse:
form = PublishForm()
if not form.validate_on_submit():
return form_error_response(form.errors)
< /code>
Und hier ist (Teil von) eine Test -Curl, mit der ich die API drücke: < /p>
curl \
-v \
-X POST \
-H "Authorization: Bearer $(set -eu; cat token)" \
--form 'patch_bases=[2, 4]' \
http://hostname:8080/api/v3/publish
< /code>
Ich verwende -Form, weil ich auch eine Datei hochladen muss (hier nicht angezeigt). < /p>
Ich komme konsequent zurück Eine "erfolgreich validierte" leere Liste, selbst wenn ich eine nicht leere Liste von INTs über Curl übergasse, was ich nicht will. überhaupt angegeben, eine leere Liste für patch_bases = [] oder eine nicht leere Liste für 1 bis 5 int in patch_bases - alle in Form.patch_basen.data. Ich sehe keinen Weg, was ich will. < /P>
Ich verwende: < /p>
WTForms 2.0.2
Python 3.10.12
Flask 1.1.2
< /code>
Ich weiß, die WTForms -Version ist uralt, aber ich bin vorerst dabei, es sei denn, es gibt einen ziemlich überzeugenden Grund zum Upgrade. Es gibt ein feines Handbuch zum Lesen und zögern Sie nicht, mich darauf zu weisen? Ich habe mich in den WTForms 2.3.x DOC auf Feldern (unter anderem Google Hits) herumgegraben, aber nicht gesehen, was ich brauche. < /P>
Danke! < /P>
PS: Ich habe gerade die MultivalueOptional -Klasse von https://github.com/pallets-eco/wtforms/issues/835 - aber field.raw_data ausprobiert, auch wenn nicht auf Ich bestehe einen Wert.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post