【问题标题】:Angular reactive forms select default value and object id角反应形式选择默认值和对象ID
【发布时间】:2018-12-19 19:07:27
【问题描述】:

我有一个带有默认值的选择器,它实际上是一个选择选项的消息。我在验证此选项时遇到问题,因为该字段与数据库中另一个集合的对象 ID 相关联(mongoose-express js)。

<div class="col-lg-6 form-group">
  <label for="professional_t">Assign professional</label>
  <select formControlName="professional_t" id="professional_t" name="professional_t" class="form-control">
    <option value="">Select Professional</option>
    <option *ngFor="let p of professionals" [value]="p._id"> {{ p.name}} </option>
  </select>
</div>

在组件中:

this.forma = new FormGroup({
  /* ... */
  'turno': new FormGroup({
    'date_t': new FormControl(null),
    'professional_t': new FormControl(''),
  })
})

如果我将其设置为null,它可以工作,但它不会在第一个实例中显示消息。

验证错误:

professional_t:
    kind: "ObjectID"
    message: "Cast to ObjectID failed for value "" at path "professional_t""
    name: "CastError"
    path: "professional_t"

【问题讨论】:

    标签: node.js angular mongoose angular-reactive-forms


    【解决方案1】:

    尝试为默认选择选项添加一些值,而不是将其设置为空白。

    也许您可以尝试添加一些唯一的数字或字符串,然后在该字段的反应形式中初始化该值。

    例子:

    <div class="col-lg-6 form-group">
      <label for="professional_t">Assign professional</label>
      <select formControlName="professional_t" id="professional_t" name="professional_t" class="form-control">
        <option value="DefaultProfessionaValue">Select Professional</option>
        <option *ngFor="let p of professionals" [value]="p._id"> {{ p.name}} </option>
      </select>
    </div>
    
    
    
    this.forma = new FormGroup({
      /* ... */
      'turno': new FormGroup({
        'date_t': new FormControl(null),
        'professional_t': new FormControl('DefaultProfessionalValue'),
      })
    })
    

    【讨论】:

    • 不,同样的错误。我认为他总是想将价值与身份联系起来。
    猜你喜欢
    • 2020-05-19
    • 2020-06-07
    • 2018-08-05
    • 1970-01-01
    • 2018-05-02
    • 2019-10-04
    • 1970-01-01
    • 2019-06-28
    • 2020-01-15
    相关资源
    最近更新 更多