Orchard CMS DataAnnotations - Проверка на стороне клиента

Я пытаюсь получить ненавязчивую проверку на стороне клиента, работающую в модуле Orchard, но у меня возникла проблема.

В этом примере я просто пытаюсь применить RequiredAttribute к полю текстового поля, используя Html.TextBoxFor ().

Мне кажется, что пользовательский ModelValidatorProvider, реализованный Orchard (LocalizedModelValidatorProvider), предотвращает отображение входных атрибутов HTML5, в частности:

data-val
data-val-required

для стандартного атрибута DataAnnotations RequiredAttribute. Эти атрибуты необходимы jQuery.validate.unobtrusive для работы.

LocalizedModelValidatorProvider сопоставляет RequiredAttribute с LocalizedRequiredAttribute, поэтому, возможно, это ошибка (или нереализованная функция) в Orchard ViewEngine при визуализации ввода текстового поля для свойства модели, украшенного атрибутом LocalizedRequiredAttribute?

Я подозреваю, что почему-то это не так. Происходит:

tagBuilder.MergeAttributes(htmlHelper.GetUnobtrusiveValidationAttributes(name, metadata));

(из System.Web.Mvc.Html.InputExtensions)

В настоящее время я использую Orchard 1.3.9.

Примечание: Хакерский обходной путь состоит в том, чтобы удалить регистрацию LocalizedModelValidatorProvider в модуле OrchardStarter и по умолчанию вернуться к стандартному провайдеру MVC 3, хотя я стараюсь не беспокоить источник Orchard, если это вообще возможно (не чтобы упомянуть, мне могут понадобиться локализованные сообщения в какой-то момент) ...

10
задан Sparky 11 March 2013 в 16:22
поделиться