AspNetCore.Components.Forms.DataAnnotation - компонент Blazor - Как пропустить проверку выбранных свойств? - PullRequest
0 голосов
/ 18 апреля 2020

Привет имеет несколько форм ввода данных, привязанных к объекту CUSTOMER . Все поля объекта помечены как обязательные.

    [Required(ErrorMessage = "Last Name is required")]
    [JsonProperty(PropertyName = "LastName")]
    public string LastName

У меня есть поля ввода данных, распределенные между 5 формами. Мне нужно проверять ТОЛЬКО текущие объекты в форме, в форме отправки.

Моя форма выглядит следующим образом

<EditForm Context="formContext"
          Model="Customer"
          OnValidSubmit="SaveCustomer">
    <!-- This will validate the form -->
    <DataAnnotationsValidator />
    <!-- This will show any validation errors -->
    @*<ValidationSummary />*@
<ul class="validation-errors">

    @foreach (
        var message in formContext.GetValidationMessages())
        {
            <li class="validation-message">@message</li>
        }
</ul>
    <div class="modal-body">
        <p>
            <label for="LastName">Last Name: </label>
            <InputText id="LastName" class="form-control"
                       @bind-Value="Customer.LastName" />

Когда я отправляю форму , Объекты клиента на других страницах проверяются как «Обязательные». Как мне пропустить другие поля клиента. Например, пропустить поле / свойство CUSTOMER PHONE, потому что оно находится на другой странице / компоненте.

Я попробовал следующее без удачи. Любые идеи

@foreach (
            var message in formContext.GetValidationMessages().Where(x => !x.Contains("PHONE")))
            {
                <li class="validation-message">@message</li>
            }
    </ul>
...