在Angular 2中,markAsPending()方法已经被废弃,不再被支持。相反,Angular 2引入了更强大和灵活的异步验证机制。
在Angular 2中,可以使用FormControl的setAsyncValidators()方法来实现类似的功能。setAsyncValidators()方法接受一个异步验证器函数作为参数,并将其应用于FormControl。异步验证器函数返回一个Promise或Observable,用于表示验证的结果。
以下是将markAsPending()还原为Angular 2形式的示例代码:
import { FormControl, Validators } from '@angular/forms';
import { Observable } from 'rxjs/Observable';
const myControl = new FormControl('', null, this.asyncValidator);
asyncValidator(control: FormControl): Promise<any> | Observable<any> {
return new Promise((resolve, reject) => {
// 执行异步验证逻辑,比如向服务器发送请求进行验证
// 在验证完成后,调用resolve()或reject()来表示验证结果
});
}
<input type="text" [formControl]="myControl">
请注意,上述代码中的asyncValidator()函数是一个示例,你需要根据实际需求来实现异步验证逻辑。
对于更复杂的表单验证需求,你还可以使用FormGroup和FormBuilder来组织和管理多个FormControl。
关于Angular 2表单验证的更多信息,你可以参考腾讯云的相关文档和示例代码:
请注意,以上提供的链接是腾讯云的相关文档和示例,仅供参考。
领取专属 10元无门槛券
手把手带您无忧上云