Я тестирую 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>