问题
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