我試圖在烏節路模塊內工作得不顯眼的客戶端驗證,但是我遇到了問題。Orchard CMS DataAnnotations - 客戶端驗證
在這個例子中,我只是試圖使用Html.TextBoxFor()在textbox字段上強制RequiredAttribute。
在我看來如同通過果園(LocalizedModelValidatorProvider)實現的定製ModelValidatorProvider防止所呈現的HTML5輸入屬性,特別是:
data-val
data-val-required
爲標準DataAnnotations RequiredAttribute標籤。這些屬性是jQuery.validate.unobtrusive工作所必需的。
LocalizedModelValidatorProvider將RequiredAttribute映射到LocalizedRequiredAttribute,因此在渲染用LocalizedRequiredAttribute裝飾的模型屬性的文本框輸入時Orchard ViewEngine中可能存在一個錯誤(或未實現的功能)?
我懷疑,不知怎的,這是不會發生:
tagBuilder.MergeAttributes(htmlHelper.GetUnobtrusiveValidationAttributes(name, metadata));
(從System.Web.Mvc.Html.InputExtensions)
我目前正在運行的果園1.3.9。
注:哈克解決方法是刪除LocalizedModelValidatorProvider的註冊OrchardStarter模塊中回到默認的標準MVC 3提供商,儘管我渴望不要去打擾,如果在所有可能的烏節源(未提及我可能需要在某些點本地化的消息)...
這是否解決了。實現這一目標時,我碰到了同樣的磚牆。 – Mounhim 2012-08-19 18:16:55
不是由我 - 雖然值得注意的是這是在版本1.3.9,這是近一年的時間 - 它可能已被修復在後來的版本。上面所描述的解決方法對我來說確實沒問題,所以沒有追求它 - 我可能應該提出了一個bug ... – 2012-08-21 12:48:43
爲什麼不嘗試使用它,它內置了動態表單生成功能,它內置了驗證策略定義。 https://gallery.orchardproject.net/List/Modules/Orchard.Module.oforms – bijayk 2013-01-22 06:19:38