internal static IValitRule <TObject, TProperty> WithDefaultMessage <TObject, TProperty>(this IValitRule <TObject, TProperty> rule, string message, params object[] @params) where TObject : class { var accessor = rule.GetAccessor(); var memberExpression = accessor.PropertySelector.Body as MemberExpression; var propertyName = memberExpression != null ? memberExpression.Member.Name : string.Empty; var messageParams = @params.Any() ? new [] { propertyName }.Concat(@params).ToArray() : new [] { propertyName }; var formattedMessage = string.Format(message, messageParams); return(rule.WithMessage(formattedMessage, true)); }
public static IValitRule <TObject, TProperty> WithMessage <TObject, TProperty>(this IValitRule <TObject, TProperty> rule, string message) where TObject : class => rule.WithMessage(message, false);