RequiredIf Conditional Validation for two variables in MVC4

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.