Я думаю, что такая проверка невозможна, если у вас есть объект, имеющий свойство типа IEnumerable<Product>
, вы можете использовать FluentValidation
, чтобы проверить, имеет ли объект хотя бы один продукт.
, например
public class ProductList
{
IEnumerable<Product> Products {get;set;}
var Validator = new ProductListValidator();
public bool IsValid
{
get
{
var res = Validator.Validate(this);
return res.IsValid;
}
}
public IList<ValidationFailure> ValidationResult
{
get
{
var res = Validator.Validate(this);
return res.Errors;
}
}
}
public class ProductListValidator : AbstractValidator<ProductList>
{
public ProductListValidator()
{
RuleFor(i => i.Products).Must(i => i.HasAny()).WithMessage("Your Error Meesage");
}
}
затем
public void Save (Customer c, ProductList products)
{
// Validate that you have entered at least one product.
if (!ProductList.IsValid)
{
ReturnErrorSummary(ProductList.ValidationResult);
}
}
Спасибо за ответ. Да, это еще не поддерживается. См.: https://fluentvalidation.codeplex.com/discussions/579227 –