Angular自定义表单控件(Required)不起作用
创始人
2024-11-01 10:30:40
0
  1. 确保你的自定义表单控件 实现了 ControlValueAccessor 接口,并正确绑定了 formControlName。
  2. 检查你的自定义表单控件是否正确实现了 registerOnChange、registerOnTouched 和 setDisabledState 方法。
  3. 确认你的表单控件的 validation 函数返回的值包括 required 校验,例如:

validate(control: AbstractControl): ValidationErrors | null { if (control.value === null) { return { required: true }; } return null; }

  1. 尝试在自定义表单控件使用 changeDetection: OnPush 策略的情况下使用 markAsTouched 和 markAsDirty。 例如:

@Component({ selector: 'app-custom-control', templateUrl: './custom-control.component.html', changeDetection: ChangeDetectionStrategy.OnPush }) export class CustomControlComponent implements ControlValueAccessor { // ControlValueAccessor Interface Methods…

constructor(private cdRef: ChangeDetectorRef) {} 

onChange(val) {}

onTouched() {}

writeValue(val: any) {}

registerOnChange(fn: any) {}

registerOnTouched(fn: any) {}

setDisabledState(isDisabled: boolean) {}

validate(control: AbstractControl): ValidationErrors | null {
  if (control.value === null) {
    this.cdRef.markAsTouched();
    this.cdRef.markAsDirty();
    return { required: true };
  }
  return null;
}

}

相关内容

热门资讯

透视关于"aapok... 透视关于"aapoker透视方法"果然真的是有辅助软件(哔哩哔哩)小薇(辅助器软件下载)致您一封信;...
透视普及"wepok... 透视普及"wepoker有辅助器吗"真是有辅助技巧(哔哩哔哩)亲,关键说明,wepoker有辅助器吗...
透视分享"hhpok... 透视分享"hhpoker可以开挂吗"其实存在有辅助技巧(哔哩哔哩)hhpoker可以开挂吗破解侠是真...
透视专业"wepok... 透视专业"wepoker好友助力码"真是真的有辅助技巧(哔哩哔哩)亲,关键说明,wepoker好友助...
透视有挂"hhpok... 透视有挂"hhpoker作必弊码"一直真的是有辅助攻略(哔哩哔哩)1、下载好hhpoker作必弊码透...
透视详细"wepok... 透视详细"wepoker有插件吗"切实是有辅助技巧(哔哩哔哩)1、wepoker有插件吗辅助器安装包...
透视揭幕"hh po... 透视揭幕"hh poker辅助有用吗"都是是真的辅助教程(哔哩哔哩)1、操作简单,无需hh poke...
透视了解"德州局怎么... 透视了解"德州局怎么透视"竟然真的有辅助app(哔哩哔哩)1、每一步都需要思考,不同水平的挑战德州局...
透视开挂"wepok... 透视开挂"wepoker如何设置透视"总是存在有辅助方法(哔哩哔哩)wepoker如何设置透视是不是...
透视详情"德普之星透... 透视详情"德普之星透视"其实有辅助工具(哔哩哔哩)1、德普之星透视免费脚本咨询教程、德普之星透视免费...