Я пытался выяснить, как создать правило FluentValidation, которое проверяет, не является ли экземпляр объекта, который он проверяет, не является нулевым до проверки его свойств.
Я предпочел бы инкапсулировать эту нулевую проверку в Validator, а не делать ее в вызывающем коде.
См. пример кода ниже с комментариями, где требуется требуемая логика:
namespace MyNamespace
{
using FluentValidation;
public class Customer
{
public string Surname { get; set; }
}
public class CustomerValidator: AbstractValidator<Customer>
{
public CustomerValidator()
{
// Rule to check the customer instance is not null.
// Don't continue validating.
RuleFor(c => c.Surname).NotEmpty();
}
}
public class MyClass
{
public void DoCustomerWork(int id)
{
var customer = GetCustomer(id);
var validator = new CustomerValidator();
var results = validator.Validate(customer);
var validationSucceeded = results.IsValid;
}
public Customer GetCustomer(int id)
{
return null;
}
}
}
Итак, мой вопрос как я могу проверить конструктор CustomerValidator(), что текущий экземпляр клиента не является нулевым и прервать обработку дополнительных правил, если он равен null?
Спасибо заранее.