2015-02-05 1 views
5

У меня есть класс модели, который следующийRequiredIf Условный Validation для двух переменных в MVC4

public bool Saturday{ get; set; } 

public bool Sunday{ get; set; } 

public string Holiday{ get; set; } 

В котором я хочу использовать условие RequiredIf для поля отдыха, используя обе субботу и воскресенье поля. Могу ли я использовать как следующий

[RequiredIf("Sunday,Saturday",false)] 
    public string Holiday{ get; set; } 

Так что я не знаю, как использовать условие RequiredIf в моем классе модели, пожалуйста, кто-то поможет мне

+0

вы можете создать свой собственный атрибут пользовательские проверки в MVC эта ссылка поможет вам создать их http://www.codeproject.com/Articles/301022/Creating -Custom-Validation-Attribute-in-MVC –

+0

Связаны ли вы с атрибутом 'RequiredIf' от foolproof? (если так, добавьте тег) –

+0

Я добавил тег, но не работает. Можете ли вы дать какой-либо примерный код для использования атрибута RequiredIf для проверки подлинности? @Stephen Muecke –

ответ

8

Может попробовать это в модели:

[Required] 
public bool Saturday{ get; set; } 

[Required] 
public bool Sunday{ get; set; } 

[NotMapped] 
public bool SatSun 
{ 
    get 
    { 
     return (!this.Saturday && !this.Sunday); 
    } 
} 

[RequiredIf("SatSun",true)] 
public string Holiday{ get; set; } 
+0

Это работает .. Большое спасибо @Chico Ribeiro –

+0

Спасибо. Это трюк и подсказка. –

0

Мой проект имеет RequiredIf в нем.

[Required] 
public int SalesID { get; set; } 

[RequiredIf("SalesID==1", ErrorMessage = "License is required.")] 
public string License{ get; set; } 

Обнаружено сообщение об ошибке «Требуется лицензия». если лицензия остается пустой, только если SalesID является 1. Лицензия не может быть пустой, если SalesID является 1.

Для вашего кода должна быть что-то вроде

[RequiredIf("Sunday,Saturday",AllowEmptyStrings=false)] 
public string Holiday{ get; set; } 

Это означает, что если воскресенье и суббота истинны вы можете позволить Праздничная собственность будет пустой строкой.

+0

Это показывает, что «не содержит конструктор, который принимает 1 аргумент» @Sukanya –

+0

AllowEmptyStrings не принято, т. е. принимается следующий тип, но не работает. [RequiredIf ("Sunday, Saturday", false)] –

+0

Дайте мне дополнительную информацию об ошибке. См. Перегрузки атрибута RequiredIf. – Sukanya