【问题标题】:How can I make Html.ListBoxFor required如何使 Html.ListBoxFor 成为必需
【发布时间】:2017-06-12 01:06:21
【问题描述】:

我知道我可以通过添加所需的 felid 来使 HTML 页面中需要 DropDownListFor,如下所示:

@Html.DropDownListFor(m => m.Site_idSite, Model.GetSiteList(Model.idCompany),  new { @class = "w_300p", required = "required" })

我的问题是如何使 ListBoxFor 成为必需的?

@Html.ListBoxFor(m => m.SelectedSites, Model.GetSiteList(Model.idCompany), new { @class = "w_250p", Size = "4" })

任何帮助将不胜感激。被这个问题困扰了很久。

【问题讨论】:

  • 您需要自定义验证器,请参阅:stackoverflow.com/questions/6428907/…
  • required = "required" 是 HTML5 验证并且仅在客户端 - 您必须始终在服务器上进行验证。将[Required] 属性与@Html.ValidationMessageFor() 一起用于Site_idSite 属性。对于SelectedSites,您需要编写一个实现IClientValidatable 的自定义验证属性(上面的链接仅限服务器端)
  • 你的问题解决了吗?
  • 不。实际上,如果您在该特定视图的模型中标记为必需,则可以实现此目的。而我的要求是,只有满足 if 条件时,我才必须将其标记为必需,以便我可以在模型中标记 [required]。

标签: c# html asp.net-mvc


【解决方案1】:

你可以试试这个进行服务器端验证

public class ProgramViewModel
    {
        [Required(ErrorMessage = "Please select at least one company")]
        public IEnumerable<string> YourCompanyIdList{ get; set; }
    }

如果你想启用客户端验证,你可以使用这个参考: https://www.codeproject.com/Articles/718004/ASP-NET-MVC-Client-Side-Validation

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-13
    • 2015-12-16
    • 2016-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多