Проверка Blazor для пользовательского класса - PullRequest
4 голосов
/ 04 июня 2019

Я тестирую Blazor и столкнулся с проблемой проверки.При проверке простого класса я могу просто использовать аннотации.Если у меня есть свой собственный класс внутри, хотя проверка не работает для всего внутри моего пользовательского класса.Эта проблема, похоже, специфична для Blazor, поскольку я могу использовать эту проверку в ASP.

Вот мои две простые модели:

public class TestModel
{
    [Required]
    [Range(12, 400, ErrorMessage = "This works")]
    public int Count { get; set; }

    public KeyValue KeyValues { get; set; }
    public TestModel()
    {
        Count = 4;
        KeyValues = new KeyValue()
        {
            Key = 5,
            Value = "str"
        };
    }
}

и класс KeyValue

public class KeyValue
{
    [Required]
    [Range(10, 300, ErrorMessage = "This number check doesn't")]
    public int Key { get; set; }
    [Required]
    [StringLength(10, MinimumLength = 5, ErrorMessage = "Nor the string one")]
    public string Value { get; set; }
}

И это мой компонент.Он проверяет свойство Model.Count, но не проверяет вложенный класс.

<EditForm Model="@Model" OnValidSubmit="@DoStuff">
    <DataAnnotationsValidator />
    <ValidationSummary />
    <div class="row">
        <div class="col-md-4">
            <input type="number" bind="@Model.Count" class="form-control" placeholder="Condition property name" />
        </div>
        <div class="col-md-4">
            <input type="number" bind="@Model.KeyValues.Key" class="form-control" placeholder="Condition property name" />
        </div>
        <div class="col-md-4">
            <InputText bind-Value="@Model.KeyValues.Value"></InputText>
        </div>

    </div>
    <div class="row">
        <div class="col-md-12">
            <button type="submit" class="btn btn-info">Create</button>
        </div>
    </div>
</EditForm>

1 Ответ

0 голосов
/ 11 июня 2019

В случае, если кто-то еще столкнется с этой проблемой, это сейчас невозможно.Это должно быть доступно в 3.0.0-preview8 согласно этому посту https://github.com/aspnet/AspNetCore/issues/10896

...