public static IRuleBuilderOptions <TContainer, TProperty> UseValidator <TContainer, TProperty>(
     this IRuleBuilderInitial <TContainer, TProperty> options, PropertyValidator <TProperty> validator)
 {
     if (validator == null)
     {
         throw new ArgumentNullException();
     }
     return(validator.Validate(options.Must(x => true)));
 }
 public static IRuleBuilderOptions <TContainer, TProperty> UseValidator <TContainer, TProperty, T>(
     this IRuleBuilderOptions <TContainer, TProperty> options, Func <TContainer, T> selector, PropertyValidator <T> validator)
 {
     return(options.SetValidator(new AdapterValidator <TContainer, T>(selector, validator)));
 }