[問題]請問如何把validator 當成普通的function來call

各位好, 我想要validate email format from db, 所以我想應該不用form. 只想把email validator 單純當作function 來使用, 不曉得有沒有什麼關鍵字, 或者方法? 還是就只能自己寫個function, 主要是想要讓input跟從db撈的用同一個驗證function

Angular 5

內建的 Validators 只接受 NgControl 類型的資料,所以並不能直接這樣子使用

但是,如果是自訂的驗證規則,的確是可以做到共用的效果

export function TestName(value){
     const nameRe: RegExp = (new RegExp(this.forbiddenName, 'i');
     return  nameRe.test(value);
}

export function reg
/** A hero's name can't match the given regular expression */
export function forbiddenNameValidator(): ValidatorFn {
  return (control: AbstractControl): {[key: string]: any} => {
    return TestName(control.value) ? {'forbiddenName': {value: control.value}} : null;
  };
}

Hi Hi, Thanks for response, 這方法我有想到過, 只是想說有內建的validator rule就用它就好(也許比較精確), 所以我就new control去做這件事情了!

        const ctrl = new FormControl('', [Validators.required, Validators.email]);
        ctrl.reset(customer.Email);

有需要的話, 會再把它寫成大大你推薦的樣子, 感謝