Цикл проверки BlazorC#

Место общения программистов C#
Ответить
Anonymous
 Цикл проверки Blazor

Сообщение Anonymous »

У меня есть простая модель под названием FooModel, которая имеет одно строковое свойство Text.
Я пытаюсь использовать DataAnnotationsValidator для проверки коллекция моделей, которые динамически добавляются в EditForm.
Сцепленная привязка и ValidationSummary и ValidationMessage работают вне цикла. См. Пример 1
Но при использовании цикла Пример 2 отправка формы всегда подтверждается как истинная, и в ValidationSummary или ValidationMessage.
Думаю, я мог бы иметь EditForm на итерацию, и это может решить проблему, но я пытался получить ее один EditForm.
Если я добавлю CascadingParameter EditForm в ListComponent и подпишусь на OnValidationRequested, я просмотреть все последние значения для рассматриваемой модели, но, похоже, они не отображаются на странице.
Любая помощь или предложения приветствуются.
Модель
public class FooModel
{
[MinLength(2)]
public string? Text { get; set; }
}

Страница
// Example 1





Submit


// Example 2





Submit


@code {

private FooModel _fooModel = new() { Text = "z" };
private List _fooModels = new() {
new() { Text = "a" },
new() { Text = "b" },
new() { Text = "c" }
};

}

Компонент списка
@{
foreach (var value in Values)
{

}
}

@code {

[Parameter]
public required List Values { get; set; }

[Parameter]
public EventCallback ValuesChanged { get; set; }

}

Вводной компонент



@code {

private string? value;

[Parameter]
public Expression ValueExpression { get; set; } = default!;

[Parameter]
public string? Value { get; set; }

[Parameter]
public EventCallback ValueChanged { get; set; }

private async Task OnInput(ChangeEventArgs e)
{
value = e?.Value?.ToString();
await ValueChanged.InvokeAsync(value);
}
}


Подробнее здесь: https://stackoverflow.com/questions/788 ... ation-loop
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»