Estoy tratando de obtener una validación no intrusiva del lado del cliente que funcione dentro de un módulo de Orchard, pero he encontrado un problema.Asignaciones de datos del CMS de Orchard: validación del lado del cliente
En este ejemplo, solo intento forzar RequiredAttribute en un campo de cuadro de texto, usando Html.TextBoxFor().
A mi me parece como si el ModelValidatorProvider a medida implementada por Orchard (LocalizedModelValidatorProvider) impide la entrada atributos HTML 5 que haga que resulte, en concreto:
data-val
data-val-required
para los DataAnnotations estándar RequiredAttribute. JQuery.validate.unobtrusive requiere estos atributos para que funcionen.
El LocalizedModelValidatorProvider mapea un RequiredAttribute a LocalizedRequiredAttribute, entonces quizás esto sea un error (o una característica no implementada) en el Orchard ViewEngine al renderizar una entrada textbox para una propiedad del modelo decorada con un LocalizedRequiredAttribute?
sospecho que de alguna manera esto no está sucediendo:
tagBuilder.MergeAttributes(htmlHelper.GetUnobtrusiveValidationAttributes(name, metadata));
(desde System.Web.Mvc.Html.InputExtensions)
estoy actualmente en ejecución Orchard 1.3.9.
Nota: Una solución hacky es eliminar el registro de la LocalizedModelValidatorProvider en el módulo OrchardStarter y por defecto de nuevo a la norma proveedor de MVC 3, aunque yo estoy dispuesto no perturbar la fuente Orchard, si es posible (no mencionar que podría necesitar mensajes localizados en algún momento) ...
Alguna vez se resolvió esto. Estoy golpeando la misma pared de ladrillo para lograr esto. – Mounhim
No por mí, aunque vale la pena señalar que esto fue en la versión 1.3.9 que tiene casi un año de antigüedad, puede haber sido corregido en las versiones posteriores. El work-around descrito anteriormente estaba bien para mí al final, así que no lo busqué. Probablemente debería haber planteado un error ... –
¿Por qué no probar oforms, tiene funcionalidad de generación de forma dinámica incorporada tiene estrategias de validación incorporadas que puedes definir. https://gallery.orchardproject.net/List/Modules/Orchard.Module.oforms – bijayk