酒店设施开放时间和关闭时间的Angular 2验证

时间:2017-11-16 07:42:41

标签: angular

我是棱角分明的新人,所以需要一些帮助。我有两个开放和关闭时间的酒店设施。没有这样的验证。在用户选择它们之前,它必须通过验证,但如果用户选择其中任何一个,那么用户也必须选择另一个字段,反之亦然。

这是.html代码

demo_service(cate, review) {
  let headers = new Headers();
  headers.append('Content-Type', 'application/json');

  return this.http_obj.post("http://ns519750.ip-158-69-23.net:8100/func/demo/",JSON.stringify( {
    "category": cate,
    "review": review
  }),{headers: headers}).map((response: Response) => response.json());
}

.ts代码在这里

userdata = {'category': "laptop2" + '/', 'review':str(reviewData[0].SNR_Review)}
r = requests.post('http://ns519750.ip-158-69-23.net:8100/func/demo/',  data=userdata)
print('rrrr    ', r.content)
print('rrrr    ', r)

1 个答案:

答案 0 :(得分:0)

您始终可以使用关于所有表单的customValidator

customValidator(openTimeKey: string, closeTimeKey: string) {
    return (group: FormGroup): { [key: string]: any } | null => {
      let openTime: number = group.controls[openTimeKey].value;
      let closeTime: number = group.controls[closeTimeKey].value;
      let errorExist=(openTime && !closeTime) || (!openTime && closeTime);
      return errorExist?{error:'must choosen two or none"}:null;
    }

然后,当您定义表单构建器

this.addHotelMappingAmenities = this.formBuilder.group({
      hotel_id: [''],
      ...
      },{ validator: this.customValidator('openTime', 'closeTime') });