Если у меня есть следующие свойства viemodel:
public class ExampleViewModel
{
[Required(ErrorMessage = "The email field is required.")]
[EmailAddress(ErrorMessage ="Please enter a valid email address")]
public string Email { get; set; }
[Required(ErrorMessage = "The first name field is required.")]
[RegularExpression("^[a-zA-Z\\-]+$", ErrorMessage="Please enter a valid name")]
public string Forename { get; set; }
[Required(ErrorMessage = "The last name field is required.")]
[RegularExpression("^[a-zA-Z\\-]+$", ErrorMessage = "Please enter a valid name")]
public string Surname { get; set; }
}
Тогда как мне включить только обязательные поля во внешнем интерфейсе ТОЛЬКО после того, как поля щелкнули, а оттуда щелкнули?
В настоящее время сообщения об ошибках представляются зрителю сразу:
Пример:
На внешней странице Razor используется проверка blazorise, которая проверяется только в том случае, если все поля имеют заполнено:
<Form method="post">
<Validations Mode="ValidationMode.Auto" Model="@ExampleViewModel" ValidatedAll="IsInvalid">
<Validation>
<Blazorise.Field>
<Blazorise.FieldLabel Class="is-bold">Email address</Blazorise.FieldLabel>
<Blazorise.TextEdit Placeholder="Enter email" @bind-Text="@ContactDetails.Email" MaxLength=40>
<Feedback>
<ValidationError />
</Feedback>
</Blazorise.TextEdit>
</Blazorise.Field>
</Validation>
<Row>
<Blazorise.Title Size="10">Your Details</Blazorise.Title>
</Row>
<Validation>
<Blazorise.Field>
<Blazorise.FieldLabel Class="is-bold">First name</Blazorise.FieldLabel>
<Blazorise.TextEdit Placeholder="John" @bind-Text="@ContactDetails.Forename" MaxLength=40>
<Feedback>
<ValidationError/>
</Feedback>
</Blazorise.TextEdit>
</Blazorise.Field>
</Validation>
<Validation>
<Blazorise.Field>
<Blazorise.FieldLabel Class="is-bold">Last name</Blazorise.FieldLabel>
<Blazorise.TextEdit Placeholder="Doe" @bind-Text="@ContactDetails.Surname" MaxLength=40>
<Feedback>
<ValidationError />
</Feedback>
</Blazorise.TextEdit>
</Blazorise.Field>
</Validation>