protected override Task OnInitializedAsync() { if (ValueType == typeof(string)) { stringExpression = FunctionCompiler.CreateValidationExpressionGetter <TItem, string>(ValidationItem, Field); } else if (ValueType == typeof(decimal)) { decimalExpression = FunctionCompiler.CreateValidationExpressionGetter <TItem, decimal>(ValidationItem, Field); } else if (ValueType == typeof(decimal? )) { nullableDecimalExpression = FunctionCompiler.CreateValidationExpressionGetter <TItem, decimal?>(ValidationItem, Field); } else if (ValueType == typeof(double)) { doubleExpression = FunctionCompiler.CreateValidationExpressionGetter <TItem, double>(ValidationItem, Field); } else if (ValueType == typeof(double?)) { nullableDoubleExpression = FunctionCompiler.CreateValidationExpressionGetter <TItem, double?>(ValidationItem, Field); } else if (ValueType == typeof(float)) { floatExpression = FunctionCompiler.CreateValidationExpressionGetter <TItem, float>(ValidationItem, Field); } else if (ValueType == typeof(float?)) { nullableFloatExpression = FunctionCompiler.CreateValidationExpressionGetter <TItem, float?>(ValidationItem, Field); } else if (ValueType == typeof(int)) { intExpression = FunctionCompiler.CreateValidationExpressionGetter <TItem, int>(ValidationItem, Field); } else if (ValueType == typeof(int?)) { nullableIntExpression = FunctionCompiler.CreateValidationExpressionGetter <TItem, int?>(ValidationItem, Field); } else if (ValueType == typeof(long)) { longExpression = FunctionCompiler.CreateValidationExpressionGetter <TItem, long>(ValidationItem, Field); } else if (ValueType == typeof(long?)) { nullableLongExpression = FunctionCompiler.CreateValidationExpressionGetter <TItem, long?>(ValidationItem, Field); } else if (ValueType == typeof(bool)) { boolExpression = FunctionCompiler.CreateValidationExpressionGetter <TItem, bool>(ValidationItem, Field); } else if (ValueType == typeof(bool?)) { nullableBoolExpression = FunctionCompiler.CreateValidationExpressionGetter <TItem, bool?>(ValidationItem, Field); } else if (ValueType == typeof(DateTime)) { dateTimeExpression = FunctionCompiler.CreateValidationExpressionGetter <TItem, DateTime>(ValidationItem, Field); } else if (ValueType == typeof(DateTime? )) { nullableDateTimeExpression = FunctionCompiler.CreateValidationExpressionGetter <TItem, DateTime?>(ValidationItem, Field); } else if (ValueType == typeof(DateTimeOffset)) { dateTimeOffsetExpression = FunctionCompiler.CreateValidationExpressionGetter <TItem, DateTimeOffset>(ValidationItem, Field); } else if (ValueType == typeof(DateTimeOffset? )) { nullableDateTimeOffsetExpression = FunctionCompiler.CreateValidationExpressionGetter <TItem, DateTimeOffset?>(ValidationItem, Field); } else if (ValueType == typeof(TimeSpan)) { timeSpanExpression = FunctionCompiler.CreateValidationExpressionGetter <TItem, TimeSpan>(ValidationItem, Field); } else if (ValueType == typeof(TimeSpan? )) { nullableTimeSpanExpression = FunctionCompiler.CreateValidationExpressionGetter <TItem, TimeSpan?>(ValidationItem, Field); } return(base.OnInitializedAsync()); }