29 lines
737 B
C#
29 lines
737 B
C#
using FluentValidation.Internal;
|
|
using System.Linq.Expressions;
|
|
using System.Reflection;
|
|
|
|
namespace zero.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;
|
|
}
|
|
} |