我花了几个小时试图解决这个问题,但无济于事。
我正在使用 Orchard 1.6 源和 DataAnnotations。我strings
的装饰和[Required]
我的一样enum
。然而,客户端验证仅适用于我页面 ( strings
) 上的文本框,enum
(单选按钮列表)不会触发验证(也不会像class="input-validation-error"
html 源代码那样显示)。
这是我的enum
:
public enum Referral
{
[Display(Name = "Google / Google+")]
Google,
[Display(Name = "Bing / Yahoo / Other Search Engine")]
OtherSearch,
[Display(Name = "LinkedIn")]
LinkedIn,
}
public class ReferralSelectorAttribute : SelectorAttribute
{
public override IEnumerable<SelectListItem> GetItems()
{
return Selector.GetItemsFromEnum<Referral>();
}
}
[Required(ErrorMessage = "Please select one referral option")]
[Display(Name = "How did you hear about us?",
Description = "Letting us know how you reached us helps us
to focus our advertising efforts and ultimately lowers costs")]
[ReferralSelector(BulkSelectionThreshold = 8)]
public virtual Referral? ReferralRadioButton { get; set; }
我不知道为什么这没有触发。有什么想法吗?
注意:我已经尝试了几乎所有我能找到的关于这个主题的东西。我已经使用特殊的 ResourceManifest.cs 文件注册了适当的 jquery 脚本(验证、不显眼等)。我已将其纳入我的观点。我在一个特殊的 Shell.cs 文件(IOrchardShellEvents 或其他东西)中重新添加了模型验证。