Quantcast
Channel: Fluent Validation for .NET
Viewing all articles
Browse latest Browse all 1917

New Post: Do validation only for a single property

$
0
0

I've created the following method :

public ValidationResult Validate<TValue>(T instance, Expression<Func<T, object>> propertyExpression, TValue value)
{
    MemberExpression memberExpr;if (propertyExpression.Body is MemberExpression)
    {
        memberExpr = propertyExpression.Body as MemberExpression;
    }elseif (propertyExpression.Body is UnaryExpression)
    {var unaryExpr = propertyExpression.Body as UnaryExpression;if (unaryExpr == null) thrownew ArgumentException();
        memberExpr = unaryExpr.Operand as MemberExpression;
    }else
    {thrownew ArgumentException();
    }if (memberExpr == null) thrownew ArgumentException();var propertyInfo = memberExpr.Member as PropertyInfo;if (propertyInfo == null) thrownew ArgumentException();

    propertyInfo.SetValue(instance, value, null);returnthis.Validate(instance, propertyExpression);
}


Viewing all articles
Browse latest Browse all 1917