1

I am getting this error: Expected 0 arguments, but got 1, when I build my project, but on ng-serve the project is fine? Any idea's what this could be? the error points towards: (ngSubmit)="onSubmit(serviceForm.value)"

my html is:

<form class="form-horizontal" [formGroup]="serviceForm" (ngSubmit)="onSubmit(serviceForm.value)">
      <div class="form-group mb-8">
        <div class="col-3 col-sm-12">
          <label class="form-label" for="u_message_description">Please describe your issue:</label>
        </div>
        <div class="col-4 col-sm-12">
          <textarea class="form-input" id="u_message_description" placeholder="Describe your issue" rows="3"
            formControlName="u_message_description"></textarea>
          <h6 class="text-gray mt-2">The more information you can provide here, the easier time the organization will
            have in diagnosing and resolving your issue.</h6>
        </div>
      </div>

      <div class="columns col-12 col-sm-12">
        <div class="column col-10 col-sm-6 text-right">
          <button class="btn btn-link">Cancel</button>
        </div>
        <div class="column col-2 col-sm-6">
          <button class="btn btn-primary" [ngClass]="{'loading': uploading}" [disabled]="!serviceForm.valid" type="submit">Submit</button>
        </div>
      </div>
    </form>

Component.ts

import { Component, OnInit } from '@angular/core';
import { ReactiveFormsModule } from '@angular/forms';
import { FormGroup, FormControl } from '@angular/forms';
import { Validators } from '@angular/forms';
import { FormBuilder } from '@angular/forms';
import { Request } from '../../models/request.model'
import { Router } from '@angular/router';
import { Observable } from 'rxjs';
import { AppComponent } from '../../../app.component';
import { nowService } from '../../services/servicenow.service';
import { HttpClient, HttpEventType, HttpHeaders, HttpRequest, HttpResponse } from '@angular/common/http';


@Component({
  selector: 'app-service-request',
  templateUrl: './service-request.component.html',
  styleUrls: ['./service-request.component.scss']
})
export class ServiceRequestComponent implements OnInit {


  public loading = false;

  public uploading: boolean;

  private customer_id = 7; /// this.appComponent.customer_id;

  serviceForm;

  constructor(private service: nowService,
    private appComponent: AppComponent,
    private router: Router,
    private http: HttpClient,
  ) {
  }

  ngOnInit() {
    this.serviceForm = new FormGroup({
      u_short_description: new FormControl('', Validators.compose([
        Validators.required,
        Validators.minLength(0),
        Validators.maxLength(80)
      ])),
      u_message_description: new FormControl(''),
    });
  }

   onSubmit() {
    if(this.serviceForm.invalid) {
       this.serviceForm.setErrors({ ...this.serviceForm.errors, 'required': true });
       return;
    }
    //this.loading = true;
    this.uploading = true;
    this.service.postFormData(this.serviceForm.value).subscribe((response: any) => {
      console.log(response);//On success response
      this.router.navigate(['/inc/confirmation'],{queryParams: {value: response.result[0].display_value}});
    }, (errorResponse: any) => {
      console.log(errorResponse); //On unsuccessful response
    });
    }
  }

service.ts

postFormData(payload) {
    return this.http.post(this.incidentApiUrl, payload, { headers: new HttpHeaders().set("Content-Type", "application/json") });
  }

1 Answer 1

5

Your "onSubmit()" method does not expect any arguments. But from your html you call it with one argument: "onSubmit(serviceForm.value)"

I would remove the parameter from html just simply use onSubmit()

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.