Проверка валидации на стороне сервера и клиента не работает в частичном представлении «Модальный всплывающий» [дубликат]

Вы можете настроить пользовательский ModelChoiceField , который вернет любую метку, которую вы хотите.

Поместите что-то вроде этого в поле fields.py или где это применимо.

  class UserModelChoiceField (ModelChoiceField): def label_from_instance (self, obj): return obj.get_full_name ()  

Затем при создании формы просто используйте это поле

  UserModelChoiceField (queryset = User.objects.filter (is_staff = False), required = False)  

Подробнее здесь

8
задан Stephen Muecke 2 August 2015 в 06:08
поделиться

1 ответ

Валидатор анализируется, когда страница изначально загружена. Когда вы добавляете динамический контент, вам нужно повторно обработать валидатор. Измените свой сценарий, чтобы включить следующие строки после загрузки содержимого.

$(this).load(actionURL, function (html) {
    // Reparse the validator
    var form = $('form');
    form.data('validator', null);
    $.validator.unobtrusive.parse(form);
    $('form', html).submit(function () {
        ....

Боковое примечание: код, который вы показали, не включает @Html.ValidationMessageFor(m => m.MaterialCode), но я предполагаю, что это включено.

16
ответ дан Stephen Muecke 15 August 2018 в 21:46
поделиться
  • 1
    Большое спасибо, Стивен Мюекке, он решил мою проблему – ARC 2 August 2015 в 06:16
  • 2
    В чем разница между этим кодом JS и этим? [Д0] stackoverflow.com/questions/7839453/… – markzzz 23 July 2018 в 07:16
  • 3
    @markzzz, $("form").removeData("validator"); по существу совпадает с form.data('validator', null); в этом контексте. Первый удаляет ранее добавленный валидатор, используя .removeData () , где, когда второй устанавливает его на null, используя .data () . $("form").removeData("unobtrusiveValidation"); в другом ответе не является действительно необходимым, потому что $.validator.unobtrusive.parse(form); эффективно сбрасывает это в любом случае. (и это напоминает мне. Я собираюсь добавить ответ по одному из ваших вопросов из нескольких дней назад :) – Stephen Muecke 23 July 2018 в 10:50
Другие вопросы по тегам:

Похожие вопросы: