public async Task TextField_Data_Annotation_Compare() { var model = new TestDataAnnotationModel(); var value = "Foo"; var comp = Context.RenderComponent <MudTextField <string> >( ComponentParameter.CreateParameter("For", (Expression <Func <string> >)(() => model.Foo2)), ComponentParameter.CreateParameter("Value", value)); await comp.InvokeAsync(() => comp.Instance.Validate()); comp.Instance.Error.Should().BeTrue(); comp.Instance.ValidationErrors.Should().HaveCount(1); comp.Instance.ValidationErrors[0].Should().Be($"'{TestDataAnnotationModel.FooTwoDisplayName}' and '{nameof(TestDataAnnotationModel.Foo1)}' do not match."); comp.Instance.GetErrorText().Should().Be($"'{TestDataAnnotationModel.FooTwoDisplayName}' and '{nameof(TestDataAnnotationModel.Foo1)}' do not match."); model.Foo1 = value; await comp.InvokeAsync(() => { comp.Instance.Validate(); }); comp.Instance.Error.Should().BeFalse(); comp.Instance.ValidationErrors.Should().HaveCount(0); comp.WaitForAssertion(() => comp.Instance.GetInputType().Should().Be(InputType.Text)); await comp.InvokeAsync(() => comp.Instance.SelectAsync()); await comp.InvokeAsync(() => comp.Instance.SelectRangeAsync(0, 1)); comp.WaitForAssertion(() => comp.Instance.ValidationErrors.Should().HaveCount(0)); }
public async Task TextField_Data_Annotation_Resolve_Display_Name_Of_Field() { var model = new TestDataAnnotationModel(); var comp = Context.RenderComponent <MudTextField <string> >(ComponentParameter.CreateParameter("For", (Expression <Func <string> >)(() => model.Foo2))); await comp.InvokeAsync(() => comp.Instance.Validate()); comp.Instance.Error.Should().BeTrue(); comp.Instance.ValidationErrors.Should().HaveCount(1); comp.Instance.ValidationErrors[0].Should().Be($"The {TestDataAnnotationModel.FooTwoDisplayName} field is required."); comp.Instance.GetErrorText().Should().Be($"The {TestDataAnnotationModel.FooTwoDisplayName} field is required."); }