Есть ли способ добавить пользовательские проверки данных, вводимых пользователем, при использовании встроенных форм Flask-appbuilder? - PullRequest
0 голосов
/ 29 октября 2019

Я создаю веб-приложение, используя флешку appbuilde, и вот уже неделю держусь следующей проблемы.

В документации инструкции кажутся довольно простыми:

class MyView(ModelView):
    datamodel = SQLAInterface(MyModel)
    validators_columns = {
        'my_field1':[EqualTo('my_field2', message=gettext('fields must match'))]
    }

Однако, когда я реализую это точно, в пользовательском интерфейсе он говорит «недопустимый ввод», даже если ввод правильный, препятствуя формепредставление.

Мой код (views.py):

class DelModelView(ModelView):
    datamodel = SQLAInterface(Dell)
    base_filters = [['cap_id', EqualTo, get_user]] #current user
    list_columns = ["cap_id", "s_code", "s_name", "sos", "date_of_change"] 
    #base_order = ("cap_id", "asc")
    validators_columns = {
        'cap_id':[FilterEqualFunction(get_user, message=_('fields must match'))]
    }


def get_user():
    return g.user.username

Я хочу добавить проверку, которая проверяет, добавляется ли новая запись cap_id == имя пользователя.

Мне не хватает здесь ссылки? Я пробовал несколько решений, но ничего не работает.

Любая помощь будет оценена!

1 Ответ

0 голосов
/ 01 ноября 2019

Мне удалось решить эту проблему следующим образом:

Я удалил cap_id из add_coloumns. Я предварительно заполнил его, используя значение по умолчанию, которое является current_user, и теперь оно работает отлично. Ура!!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...