FluentValidation: validation type names must be unique

倖福魔咒の 提交于 2019-12-07 14:35:52

问题


I have the following rules specified in my code

    RuleFor(x => x.Auction_Round1Ring1Start).GreaterThan(DateTime.Now);

    RuleFor(x => x.Auction_Round1Ring1End).GreaterThan(x => x.Auction_Round1Ring1Start);

    RuleFor(x => x.Auction_Round1Ring2Start).GreaterThan(x => x.Auction_Round1Ring1End);
    RuleFor(x => x.Auction_Round1Ring2End).GreaterThan(x => x.Auction_Round1Ring2Start);

    RuleFor(x => x.Auction_Round1Ring3Start).GreaterThan(x => x.Auction_Round1Ring2End);
    RuleFor(x => x.Auction_Round1Ring3End).GreaterThan(x => x.Auction_Round1Ring3Start);

    RuleFor(x => x.Auction_Round2Start).GreaterThan(x => x.Auction_Round1Ring3End);

And I get this error

Validation type names in unobtrusive client validation rules must be unique. The following validation type was seen more than once: required

I get this error on this line in a view

@Html.EditorForModel()

回答1:


Make sure that you haven't decorated your view model class properties with any data annotation attributes.

Correct:

[Validator(typeof(MyViewModelValidator))]
public class MyViewModel
{
    public DateTime Auction_Round1Ring1Start { get; set; }
    public DateTime Auction_Round1Ring1End { get; set; }

    public DateTime Auction_Round1Ring2Start { get; set; }
    public DateTime Auction_Round1Ring2End { get; set; }

    public DateTime Auction_Round1Ring3Start { get; set; }
    public DateTime Auction_Round1Ring3End { get; set; }

    public DateTime Auction_Round2Start { get; set; }
}

Wrong:

[Validator(typeof(MyViewModelValidator))]
public class MyViewModel
{
    [Required]
    public DateTime Auction_Round1Ring1Start { get; set; }
    public DateTime Auction_Round1Ring1End { get; set; }

    public DateTime Auction_Round1Ring2Start { get; set; }
    public DateTime Auction_Round1Ring2End { get; set; }

    public DateTime Auction_Round1Ring3Start { get; set; }
    public DateTime Auction_Round1Ring3End { get; set; }

    public DateTime Auction_Round2Start { get; set; }
}


来源:https://stackoverflow.com/questions/10993448/fluentvalidation-validation-type-names-must-be-unique

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!