繁体   English   中英

验证列表 <string> 在ASP.NET MVC 3中

[英]Validating a List<string> in ASP.NET MVC 3

我有一个“联系我们”页面,我有一个问题和答案列表,如下所示:

public List<string> Questions = new List<string>()
                                    {
                                        "What browser are you using?",
                                        "What version of the browser are you using?",
                                        "And so on and so forth..."
                                    };

public List<string> Answers { get; set; }

然后我将这些添加到视图中,如下所示:

           @foreach (var question in Model.Questions)
            {
                <dt>
                    <dd width="240" height="25">@Html.Label(question)</dd>

                    <dd width="240" height="80">
                        @Html.ValidationMessageFor(model => model.Answers[Model.Index])
                        @Html.TextAreaFor(model => model.Answers[Model.Index], new { @class = "uniform", @id = "text" })
                      </dd>
                </dt>
                Model.Index += 1;
            }

在我编写自定义验证器之前,有没有办法可以验证该答案列表中的每个字符串,类似于验证字符串字段的方式?:

[StringLength(100)]

提前致谢!!

您的问题列表应该是“联系我们”页面模型中包含的另一个模型,以便您可以将这些属性分配给该模型。 这样您就可以获得每个项目的验证。

另一种方法是简单地检查控制器代码中的长度(当然没有客户端验证),如果验证失败,则使用ModelState.AddError()手动添加错误。

第三个选项(再次是服务器端)是在模型中实现IValidateableObject以手动检查这些值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM