流畅的验证验证生成的文本框列表

时间:2014-04-08 09:52:23

标签: asp.net-mvc validation fluentvalidation

我的表单上有一组文本框,这些文本框是通过如下形式生成的:

查看:

@for (int i = 0; i < Model.TransomeList.Count; i++)
                        {
                            ItemDrops tranItem = Model.TransomeList.ElementAt(i);
                            <div class="form-group">
                                @Html.Label(tranItem.ItemName.ToString(), new { @class = "col-sm-6 control-label" })

                                <div class="col-sm-6">
                                    @Html.TextBoxFor(x => x.TransomeList[i].ItemPossInfo, new { @class = "form-control" })
                                    @Html.HiddenFor(x => x.TransomeList[i].ItemName)
                                </div>
                            </div>                                
                        }

我使用流畅的验证,并希望确保每个文本框都是必需的(理想情况下,在错误消息中说明哪个文本框)

在我的Validator课程中,我有:

RuleFor(x => x.TransomeList).SetCollectionValidator(new TransDropValidator());

使用:

 public class TransDropValidator : AbstractValidator<ItemDrops>
{
    public TransDropValidator()
    {
        RuleFor(x => x.ItemPossInfo)
            .NotNull().WithMessage("Transom position required{O}", x => x.ItemPossInfo);
    }
}

然而,这并没有验证任何事情......我需要做什么?

由于

1 个答案:

答案 0 :(得分:0)

您还需要

@Html.ValidationMessageFor()

我假设您正在进行服务器端验证。如果没有,那么验证器需要进一步的工作,你需要生成JavaScript组件。