8

Я использовал описанный метод here, чтобы локализовать сообщения аннотации данных и в основном работает нормально в сообщениях нормальной формы. Я также вижу локализованное сообщение проверки на стороне клиента.jQuery ненавязчивая проверка игнорирует сообщение с обязательным значением в MVC3

Однако проблема возникает, когда у меня есть частичный вид, который имеет поля ввода для проверки и загружается с использованием вызова ajax. По какой-то причине я получаю сообщение проверки по умолчанию («Это поле обязательно») вместо моего локализованного сообщения, которое устанавливается в атрибуте атрибута data-val этого элемента.

Я проверил следующее:
1. Я включил оба "jquery.validate.min.js" и "jquery.validate.unobtrusive.min.js".
2. Я проверил ответ ajax, и он содержит атрибут val-val с локализованным сообщением.

Я уже пробовал следующие решения:
1. Я попытался разборе ответ AJAX (который не работал) как $ .validator.unobtrusive.parse («формы»)
2. анализом динамического содержимого для подтверждение, как описано here. Все еще нет решения.

У меня есть срочный срок, и это беспокоит меня.

+0

Вы пытаетесь проверить сразу после добавления содержимого из частичных, или динамического содержимого, представленные обычно с остальной частью формы? –

+0

Динамический контент обычно отправляется вместе с остальной формой формы. – sprisoner

+0

Наконец-то прорыв. На моей странице было две формы: одна на индексной странице и одна на частичной странице. Кнопки, на которые кликнул форму, будут отображаться на индексной странице. Я переместил кнопки на частичной странице так, чтобы она находилась внутри элемента формы частичной страницы, и вот! он работал нормально. Хотя проблема решена, я не знаю, что вызвало проблему и как перемещение кнопок в самой внутренней форме разрешило ее? Моя проблема решена, но если кто-то может помочь мне понять причину, я мог бы отметить ее как ответ и закрыть этот вопрос. – sprisoner

ответ

3

Я думаю, вы уже пробовали это: stackoverflow.com/questions/4406291/jquery-validate-unobtrusive-not-working-with-dynamic-injected-elements - ответ Стив Лэмб помог мне больше всего.

В принципе, вам нужно повторно инициализировать валидатор всякий раз, когда вы меняете содержимое страницы, так как код проверки строит список для отслеживания элементов управления, которые необходимы для проверки только один раз, при загрузке страницы ...

I также, казалось, нужно было добавить дополнительный код для проверки и убедиться, что входы были названы правильно. Дайте мне минутку, и я выкопаю код. - хм, извините, этот код был частью клиентского приложения, и я не могу его опубликовать. Не слишком уверен, что это сделало бы разницу в любом случае ...

+0

Спасибо Tieson, я устал от этого. Однако я случайно решил это. Прочитайте мой комментарий ниже вопроса. Все еще путают, в чем проблема. – sprisoner

0

Только в случае, если кто-то падение в этом вопросе, как и документации государства, необходим, чтобы ваше поле имеет name атрибут:

уполномоченный: Атрибут 'name' требуется для всех элементов ввода, требующих проверки, и плагин не будет работать без этого. Атрибут 'name' также должен быть уникальным для формы, так как плагин отслеживает все элементы ввода. Однако каждая группа радиостанций или элементов флажка будет иметь одно и то же «имя», поскольку значение этой группировки представляет собой единый фрагмент данных формы.

Source

Смежные вопросы