samedi 14 avril 2018

array to string conversion angular how to parse it?

I try to submit a form in angular 4 with laravel but i get an error ith using dates : ERROR:array to string conversion how i can fix it plz I am sharing the code below . It would be very helpful if anyone tell me how to convert the Object in the Array to a string

<!DOCTYPE html>
<html>

<head>
  <meta name="viewport" content="width=device-width, initial-scale=1">

</head>

<body>
    <div class="card-header">Add IPMSAN/Central</div>

  <div class="container">
    <form class="form-horizental" #addIPMSANForm="ngForm" (submit)="addIPMSAN()">



      <div class="form-group">
        <label for="name_ipm" class="col-sm-4 control-label">Name</label>
        <div class="col-sm-16">
          <input type="text" class="form-control" name="Name" required [(ngModel)]="model.name_ipm" #name="ngModel">
        </div>
        <div *ngIf="name.errors && (name.dirty || name.touched)" class="alert alert-danger">
          <div [hidden]="!name.Errors.required">
            <span class="glyphicon glyphicon-exclamation-sign"></span>&nbsp;Name is Required
          </div>
        </div>
      </div>

      <hr>

      <div class="form-group">
        <label for="refrence_ipm" class="col-sm-4 control-label">Reference</label>
        <div class="col-sm-16">
          <input type="text" class="form-control" name="refrence_ipm" required [(ngModel)]="model.refrence_ipm" #refrence="ngModel">
        </div>
        <div *ngIf="refrence.errors && (refrence.dirty || refrence.touched)" class="alert alert-danger">
          <div [hidden]="!refrence_ipm.Errors.required">
            <span class="glyphicon glyphicon-exclamation-sign"></span>&nbsp;Refrence is Required
          </div>
        </div>
      </div>
      <hr>
      <div class="form-group">
          <label for="latitude" class="col-sm-4 control-label">Latitude</label>
          <div class="col-sm-16">
            <input type="text" class="form-control" name="latitude" required [(ngModel)]="model.latitude_ipm" #latitude="ngModel">
          </div>
          <div *ngIf="latitude.errors && (latitude.dirty || latitude.touched)" class="alert alert-danger">

            <div [hidden]="!latitude.Errors.required">
              <span class="glyphicon glyphicon-exclamation-sign"></span>&nbsp;latitude is Required </div>
          </div>
        </div>
        <hr>

        <div class="form-group">
          <label for="longitude" class="col-sm-4 control-label">longitude</label>
          <div class="col-sm-16">
            <input type="text" class="form-control" name="longitude" required [(ngModel)]="model.longitude_ipm" #longitude="ngModel">
          </div>
          <div *ngIf="longitude.errors && (longitude.dirty || longitude.touched)" class="alert alert-danger">

            <div [hidden]="!longitude.Errors.required">
              <span class="glyphicon glyphicon-exclamation-sign"></span>&nbsp;longitude is Required </div>
          </div>
        </div>
        <hr>
      <div class="form-group">
        <label for="deployment_date" class="col-sm-4 control-label">Deployment Date</label>
        <form class="form-inline">
          <div class="form-group">
            <div class="input-group">
              <input type="text" class="form-control" placeholder="yyyy-mm-dd" name="deployment_date" [(ngModel)]="model.deployment_date" ngbDatepicker #deployment_date="ngbDatepicker">
              <div class="input-group-append">
                <button class="btn btn-outline-secondary" (click)="deployment_date.toggle()" type="button">
                  <img src="assets/img/calendar.svg" style="width: 1.2rem; height: 1rem; cursor: pointer;" />
                </button>
              </div>
            </div>
          </div>
        </form>
      </div>
      <hr/>

      <div class="form-group">
        <label for="maintenance" class="col-sm-4 control-label">Maintenance</label>
        <form class="form-inline">
          <div class="form-group">
            <div class="input-group">
              <input type="text" class="form-control" placeholder="yyyy-mm-dd" name="maintenance" [(ngModel)]="model.maintenance" ngbDatepicker #maintenance="ngbDatepicker">

              <div class="input-group-append">
                <button class="btn btn-outline-secondary" (click)="maintenance.toggle()" type="button">
                  <img src="assets/img/calendar.svg" style="width: 1.2rem; height: 1rem; cursor: pointer;" />
                </button>
              </div>
            </div>
          </div>
        </form>
      </div>
      <hr>

      <div class="form-group">
        <div class="col-sm-offsset-4 col-sm_16">
          <a class="btn btn-info" (click)="goBack()">Cancel</a>
          <button type="submit" class="btn btn-success" id="btn-save" [disabled]="!addIPMSANForm.form.valid">submit</button>
          <div class="alert alert-success alert-dismissible" id="msg1" style="display: none;"></div>

        </div>
      </div>
      <div class="form-group">
        <button type="button" class="btn btn-lg " (click)="addStoreForm.form.reset()" style="width:100%;">
          <i class="material-icons">&#xE8B3;</i> Reset</button>
      </div>
    </form>
  </div>

</body>

</html>

and i dont want to add all of this code to parse it if there is a sipmle way plz give it to me

addIPMSAN() {
  //console.log(this.model); 
  console.log(this.model.deployment_date)
  let ipmsan = {
    
    name_ipm:'',
    refrence_ipm:'',
    latitude_ipm:'',
    longitude_ipm:'',
    deployment_date:'',
    maintenance: ''

}

ipmsan.name_ipm = this.model.name_ipm;
ipmsan.refrence_ipm = this.model.refrence_ipm;
ipmsan.latitude_ipm= this.model.latitude_ipm;
ipmsan.longitude_ipm= this.model.longitude_ipm;


let obj : string = this.model[0].deployment_date.year+"-"+this.model[0].deployment_date.month+"-"+this.model[0].deployment_date.day;

console.log(obj);
ipmsan.deployment_date= obj;
ipmsan.maintenance= JSON.stringify(this.model.maintenance);

this.ipmsanService
.addIPMSAN(ipmsan)
.subscribe(response => {
  console.log(response);
  this.messageService.showMessage("div#msg1","alert-info","An IPMSAN has ben successfuly aded","glyphicon-ok");

}, (error: AppError) => {
  if (error instanceof BadInput) {
  } else {
    alert('An unexpected error occured.');
    console.log(error);
  }
 });
}

I've also seen some solutions which I could not make to work , i know it can be a duplicate question but i realy need a help



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire