[英]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.