Files
mixtape/Finch/Validation/ValidatorCamelCasePropertyResolver.cs
T
2026-04-07 14:23:29 +02:00

29 lines
738 B
C#

using FluentValidation.Internal;
using System.Linq.Expressions;
using System.Reflection;
namespace Finch.Validation;
public class ValidatorCamelCasePropertyResolver
{
public static string ResolvePropertyName(Type type, MemberInfo memberInfo, LambdaExpression expression)
{
return DefaultPropertyNameResolver(type, memberInfo, expression).ToCamelCaseId();
}
private static string DefaultPropertyNameResolver(Type type, MemberInfo memberInfo, LambdaExpression expression)
{
if (expression != null)
{
var chain = PropertyChain.FromExpression(expression);
if (chain.Count > 0) return chain.ToString();
}
if (memberInfo != null)
{
return memberInfo.Name;
}
return null;
}
}