Проверка форм не работает на границе Microsoft, ввод файла всегда недействителен - PullRequest
0 голосов
/ 17 апреля 2019

Я использовал реактивную валидацию форм для angular 6, валидация форм отлично работает на chrome и fire-fox, но когда я попробовал это на краю и после отладки, я обнаружил, что файл входного типа всегда имеет класс ng-invalid вэто.

Я не могу найти какую-либо помощь по этому вопросу.Я использую проверку формы, чтобы включить, отключить кнопку отправки, и она всегда отключена, потому что поле input-type-file всегда недопустимо.Я не сделал что-то другое, это просто реактивные проверки формы.

HTML-код

<form [formGroup]="accountForm" (ngSubmit)="onAccountSave()" >
<div class="form-group required col-md-3">
     <label class="control-label mb-10 text-left">Photo Back</label>
    <input type="file" placeholder="Photo" formControlName="photo_back" (change)="onBackFileChanged($event)" >
</div>

<div class="form-group col-md-12">
   <input [disabled]="this.accountForm.invalid" class="btn btn-primary" type="submit" value="Save">
</div>

Ts-код

 this.accountForm = this.formBuilder.group({
      // other fields .....
      photo_back : ['', Validators.required],

    });

polyfill.ts

 import 'core-js/es6/symbol';
 import 'core-js/es6/object';
 import 'core-js/es6/function';
 import 'core-js/es6/parse-int';
 import 'core-js/es6/parse-float';
 import 'core-js/es6/number';
 import 'core-js/es6/math';
 import 'core-js/es6/string';
 import 'core-js/es6/date';
 import 'core-js/es6/array';
 import 'core-js/es6/regexp';
 import 'core-js/es6/map';
 import 'core-js/es6/weak-map';
 import 'core-js/es6/set';
 import 'classlist.js';  // Run `npm install --save classlist.js`.
 import 'core-js/es6/reflect';
import 'core-js/es7/reflect';
import 'zone.js/dist/zone';  // Included with Angular CLI.

Ответы [ 2 ]

0 голосов
/ 19 апреля 2019

Вы можете сослаться на этот образец и попытаться добавить обязательное свойство во входной файл:

<form [formGroup]="profileForm" (ngSubmit)="onSubmit()">
  <label>
    First Name:
    <input type="text" formControlName="firstName" required>
  </label>

  <button type="submit" [disabled]="!profileForm.valid">Submit</button>
</form>
0 голосов
/ 17 апреля 2019

Я пока не могу комментировать из-за своей низкой оценки, но я хотел сказать вам, что есть ошибка в IE11 (и, возможно, в Edge), которая помечает каждый formcontrol как грязный, если у него есть свойство placeholder.Попробуйте удалить свойство-заполнитель и проверьте, является ли форма недействительной в реальном «нетронутом» статусе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...