Можем ли мы отправить значение как Y, если флажок установлен, и значение как N, если флажок не установлен в angular?

Я хочу передать значение флажка как Y, если оно отмечено, и значения как N, если флажок не установлен. это мой код флажка в html файле

  <div class = "col-sm-12">  
                      <label style = "padding-left: 6px;">Status:</label>
                      <span style = "padding-left: 10px;"></span>   
                     <input type = "checkbox"                     
                     formControlName = "Status" style = "margin-left: 10px;" 
                     [ngClass] = "{ 'is-invalid': submitted &amp;&amp; addTermForm.controls.Status.errors }">
                  
                     <div *ngIf = "submitted &amp;&amp; addTermForm.controls.Status.errors" class = "text-danger">
                     <div *ngIf = "addTermForm.controls.Status.errors">
                       Status is required
                     </div>
                     </div>
                   </div>

это моя проверка файла ts

  ngOnInit(): void {
    this.termEditForm();
    this.addTermForm = this.formBuilder.group({
      RuleName: ['', [Validators.required, Validators.pattern('[a-zA-Z# ]*')]],
     // Dealer_Id: ['', [Validators.required, Validators.pattern('[0-9]*')]],
      Type:  ['', [Validators.required]],
      Status:  ['', [Validators.required]],
    });
   }

используйте [ngModel] и (ngModelChange) stackoverflow.com/questions/59910767/…. Да, вы можете использовать [(ngModel)] внутри formGroup, и это указано в этой ситуации.

Eliseo 10.12.2020 11:51

Ага. я пробовал, но получаю ошибку (не работает в моем коде). Не могли бы вы уточнить ваше объяснение?

Alex 10.12.2020 12:17

Ставлю ответ. Идея та же: FormControl существует, потому что вы объявляете его в .ts, он не зависит от .html. Вы используете «некоторые» в html, чтобы изменить значение

Eliseo 10.12.2020 12:38
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
0
3
438
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
// replace your 
<input type = "checkbox" formControName = "Status"...>
//by
<input type = "checkBox" 
       [ngModel] = "addTermForm.get('Status').value=='Y'?true:false"
       (ngModelChange) = "addTermForm.get('Status').setValue($event?'Y':'N')"
       [ngModelOptions] = "{standalone:true}"
       [ngClass] = "{'is-invalid': submitted && addTermForm.get('Status').errors}">

Как вы видите, все «переменные», которые вы обычно используете в флажке ввода, используя [(ngModel)] используют значения addTermForm.get('Status')

Я попробовал это. Но значение статуса сохраняется как нулевое. Не знаю, почему? нам нужно привязать ngmodel к проверке в файле ts?

Alex 10.12.2020 13:05

Я сделал стекблиц: stackblitz.com/edit/…. Смотрите, что нет необходимости привязывать ngModel к проверке. Ошибка выдается formControl. Кстати, «Validators.required» ничего не делают в статусе, «Y» или «N» не дают ошибок, вы можете создать пользовательскую ошибку - я сделал ее в stackblitz-

Eliseo 10.12.2020 14:38

Другие вопросы по теме