I have a model class that is following
public bool Saturday{ get; set; }
public bool Sunday{ get; set; }
public string Holiday{ get; set; }
In which I want to use the RequiredIf condition for the Holiday field using the both Saturday and Sunday fields. Can I use like following
[RequiredIf("Sunday,Saturday",false)]
public string Holiday{ get; set; }
So I don't know how to use the RequiredIf condition in my model class, So please someone help me
Maybe try this in your model:
[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; }
If the need for more complex validation arises, I'd recommend implementing IValidatableObject.
public class YourModel : IValidatableObject
{
public bool Saturday{ get; set; }
public bool Sunday{ get; set; }
public string Holiday{ get; set; }
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
var result = new List<ValidationResult>();
if (Saturday == false && Sunday == false && string.IsNullOrEmpty(Holiday))
{
result.Add(new ValidationResult("Holiday is required outside weekends"));
}
return result;
}
}
If you combine property checks with IValidatableObject, be sure to note this behaviour.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With