У меня есть модель в основном булевых свойств с 5 дополнительными строками и int. Мой вопрос, есть ли способ проверить, есть ли по крайней мере 3 истинных значения в этой модели. Я знаю, что могу просто циклически перебирать значения, но мои имена свойств в настоящее время являются другими именами вместо checkbox1 checkbox2 и так далее. Я хотел бы сохранить уникальные имена, если это возможно. Я не уверен, возможно ли то, что я хочу.
Модель:
namespace FacilitesPledgeForm.Models {
public class FacilitiesPledge
{
public bool LightsOff {get; set;}
public bool PowerDown {get; set;}
public bool PrintLess {get; set;}
public bool Stairs {get; set;}
public string test1 {get; set;}
public string test1 {get; set;}
public string test2 {get; set;}
public string test3 {get; set;}
public string test4 {get; set;}
public string test5 {get; set;}
public int num {get; set;}
}
}
Контроллер:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Submit_PledgeForm(FacilitiesPledge facilitiesPledge)
{
//I want to loop here for at least 3 true values and if there isn't add an error to the model to make it invalid
if (!ModelState.IsValid)
{
return View("Index", facilitiesPledge);
}
facilitiesPledge.UserName = User.Identity.Name;
facilitiesPledge.Email = User.Identity.Name.ToUpper();
facilitiesPledge.Year = DateTime.Now.Year;
new PledgeFormStore().InsertPledgeAcceptance(facilitiesPledge);
return View("SuccessfulSubmission");
}