Код: Выделить всё
[Keyless]
public class Specs
{
[Column("id")]
public string? ID { get; set; }
[Column("name")]
public string? Name { get; set; }
[Column("value")]
public string? Value { get; set; }
[Column("rank")]
public int Rank { get; set; }
}
< /code>
держатель модели данных класса данных держателя модели, модифицированных пользователем < /h4>
public class SpecsEntryHolder(string? id, string? n, string? val, int rank)
{
public string? ID { get; set; } = id;
public string? Name { get; set; } = n;
public string? Value { get; set; } = val;
public int Rank { get; set; } = rank;
}
< /code>
переопределить эти модели класса данных в виде списка < /h4>
public List SpecsList { get; set; } = [];
public List SpecsEntryHolderList { get; set; } = [];
< /code>
Я клонировал данные с помощью этого подхода: < /p>
// SpecsList has already been fed with the database records.
SpecsEntryHolderList = SpecsList.Select(v => new SpecsEntryHolder(v.ID, v.Name, v.Value, v.Rank)).ToList();
< /code>
На странице UI Razor: < /p>
@foreach (var specs in SpecsEntryHolderList)
{
@($"{specs.Name}")
}
Я надеялся, что это будет работать, но это не так:
PrettyPrint-Override ">private void FormatOnBlurSpecs(FocusEventArgs e)
{
foreach (var spec in SpecsEntryHolderList)
{
var fieldIdentifier = new FieldIdentifier(spec, nameof(spec.Value));
if (string.IsNullOrWhiteSpace(spec.Value))
{
messageStore!.Add(fieldIdentifier, $"{spec.Name} is required.");
}
messageStore?.Clear(fieldIdentifier);
}
}
< /code>
В приведенном выше примере я предоставил минимальную настройку для упрощения процесса. Однако в реальном приложении вы должны обрабатывать проверку сообщений для каждого текстового поля, так как они, скорее всего, не будут одинаковыми. Например, каждое поле имеет свою конкретную проверку, которая не похожа на другие поля. Я уже знаю, что основная реализация встроенной проверки в Blazor заключается в наборе полей, которая соответствует каждой текстовой записи. Подход, который я пытаюсь достичь, заключается в том, чтобы предоставить пользовательскую проверку, с реконцептуализированным источником привязки поля. Я пытался выяснить это ограничение и его соответствующий обходной путь, так как это, очевидно, динамическая настройка InputText < /code>. < /P>
Вот мой дополнительный вопрос, помимо заголовка для этого контекста: < /p>
- есть обходной завод для этого подхода? Если так, как это может быть реализовано правильно?
Подробнее здесь: https://stackoverflow.com/questions/797 ... ed-through
Мобильная версия