Валидаторы Flask-WTF не работают с атрибутами html-имен в случае верблюда - PullRequest
0 голосов
/ 27 сентября 2019

У меня есть несколько причудливых форм HTML, которые я не хочу использовать для создания FLASK-WTF.Но в качестве способа проверки я обычно просто пишу класс формы следующим образом:

#forms
#proper import all here

class SigninForm(Form):
   email = StringField('email', validators=[
       DataRequired(),
       Length(4, 64),
       Email()])
   password = PasswordField('Password', validators=[
       DataRequired(),
       Length(8, 64)])


#veiws
#proper import all here

@auth.route("/signin", methods=["POST", "GET"])
def signin():
    form = SigninForm(request.form)
    if request.method == "POST":
        if form.validate():
            # actually validates the form

Но моя проблема началась, когда мои атрибуты имени HTML имеют соглашение о присвоении имен camelCase, такое как "myFieldHere", которое я использую также дляпроверка на стороне клиента с помощью валидатора форм JQuery.Поэтому я попытался изменить соглашение об именах моих атрибутов имен HTML на что-то вроде «my-field-here», но затем JQuery перестал отвечать на них, и при этом валидаторы Flask-WTF все еще не работают, но когда я изменяю все на lowwercase, как"myfieldhere" они работают, но это не очень хорошая практика для соглашений об именовании.Таким образом, изменение соглашения об именах не является моей идеей, если не было альтернативы.

class AddArticleForm(FlaskForm):
   article_title = StringField('articleTitle', validators=[
       DataRequired()])
   article_body = StringField('articleBody', validators=[
       DataRequired()])
   article_category = StringField('articleCategory', validators=[
       DataRequired()])
   article_tags = StringField('articleTags', validators=[
       DataRequired()])

Когда я печатаю (request.form), я получаю результат в своем терминале, однако валидаторы WTF, кажется, не распознают ихпоскольку все, что он печатает, это сообщения об ошибках, такие как «Это поле обязательно для заполнения», что означает, что оно, вероятно, не передано пропрей.Я был с этим почти день.Буду очень признателен и заранее благодарен.

...