2012-06-12 7 views
3

я следующие правила указанные в моем кодеFluentValidation: имена типов проверки должны быть уникальными

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); 

И я получаю эту ошибку

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

Я получаю эту ошибку на этой линии в целях

@Html.EditorForModel() 
+0

Не могли бы вы показать свой класс модели? –

+0

да - разместив его сейчас –

ответ

4

У вас должно быть нет d выровняли свойства класса модели представления с любыми атрибутами аннотации данных.

Правильно:

[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; } 
} 

Неправильно:

[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; } 
} 
+0

Я обновил свой пост с помощью своего кода модели. Как вы можете видеть, у меня нет атрибута requried. –

+0

Что такое класс 'AuctionMetadata'? Кажется, он содержит метаданные об аукционном классе. Также как насчет классов 'AuctionStatus',' Invitation' и 'Lot'? Они содержат аннотации данных? Они украшены классом метаданных, которые могут добавлять аннотации данных? –

+0

Да, это было где обязательный атрибут был - исправлен - отмечен как ответ :-) –

Смежные вопросы