Nano Hash - криптовалюты, майнинг, программирование

Формы Angular 2+ проходят проверку, когда недопустимые значения загружаются недавно

У меня есть ряд форм, которые автоматически сохраняются каждые пять минут. Формы могут и должны сохранять недопустимые значения в этом процессе (проблемы maxLength учитываются для сохранения проблем на бэкэнде).

Кроме того, пользователь может отправить форму в любое время, но для этого форма должна быть действительной.

У меня все это пока есть.

Проблема в том, что при повторном посещении форм с момента автоматического сохранения без действительной отправки пользователем, поскольку Angular загружает недопустимые значения, как и должно быть, но затем указывает, что форма действительна, даже если некоторые из загруженных значений не должны проходить свои валидаторы.

В настоящее время я создаю довольно продвинутые формы, но очень новичок в проверке форм Angular. Прошу прощения за вопрос новичка, но как мне сказать Angular в этом случае запустить проверку недействительных, только что загруженных полей?

Я начал взламывать грязные / нетронутые, тронутые / нетронутые, ожидающие решения и т. Д. И разбираться в этом, но не уверен, что это то, что мне нужно, или как реализовать что-то, что пометит всю форму как то, что мне нужно без побочных эффектов.


Ответы:


1

Вы были на правильном пути с грязными / первозданными / затронутыми вещами. Однако FormGroup предоставляет метод для проверки этого:

afterFormGetsPopulated() {
  this.formGroup.updateValueAndValidity();
}

Я думаю, что это должно сработать, но я не могу сейчас проверить это вживую. Если этого не происходит, на каждом FormControl используется один и тот же метод:

afterFormGetsPopulated() {
  this.formGroup.controls.forEach(c => c.updateValueAndValidity());
}
28.03.2018
  • Это работает, однако, только в том случае, если он запускается асинхронно после заполнения полей (через setTimeout). И его нужно запускать на каждом элементе управления. К счастью, у меня есть функция, которая выполняет итерацию по вложенным формам с переданной функцией. 28.03.2018
  • Звучит отлично. Также обратите внимание, что по умолчанию этот метод также обновит всех предков элемента управления, на котором он запущен. Может помочь немного навести порядок. 28.03.2018
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..