Asp.net mvc 运行时生成字段上的asp.net mvc验证

Asp.net mvc 运行时生成字段上的asp.net mvc验证,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-validation,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc Validation,我正在创建一个表单,其中一些HTML字段在运行时根据数据库值生成,然后我想向它们添加验证。我现在的场景是这样的: @Html.TextBoxFor(m => m.JobCost) @Html.ValidationMessageFor(m => m.JobCost) @for (int i = 0; i < Model.Datapoints.Count; i++) { <div class="editor-label"

我正在创建一个表单,其中一些
HTML
字段在运行时根据数据库值生成,然后我想向它们添加验证。我现在的场景是这样的:

    @Html.TextBoxFor(m => m.JobCost)
        @Html.ValidationMessageFor(m => m.JobCost)
    @for (int i = 0; i < Model.Datapoints.Count; i++)
    {
        <div class="editor-label">
            @Model.Datapoints[i].DatapointTypeLabel
            @Html.HiddenFor(model => model.Datapoints[i].DatapointTypeName)
        </div>
        <div class="editor-field">
                @Html.TextBoxFor(model => model.Datapoints[i].Value)
        </div>
    }
型号:

public class MeasureModel
{
    [Required]
    [DisplayName("Measure Name")]
    public int? MeasureName
    {
        get;
        set;
    }

    [DisplayName("Install Date")]
    [Required]
    [DataType(DataType.Date)]
    public DateTime? InstallDate
    {
        get;
        set;
    }

    public List<Datapoint> Datapoints { get; set; }
}

public class Datapoint
{
    public string DatapointTypeName { get; set; }

    public string DatapointTypeLabel { get; set; }

    public string Value { get; set; }

    public string ValidationRule { get; set; }

}
有关此类的更多详细信息,请参阅

    public class XmlModelValidatorProvider : ModelValidatorProvider
    {
    public readonly Dictionary<string, Type> _validatorTypes;

    ...
    public override IEnumerable<ModelValidator> GetValidators(ModelMetadata metadata, ControllerContext context)
           {
            ....
    }