NativeScript 电子邮件验证不起作用

NativeScript Email validation is not working

我需要验证在我的 TextField 中输入的文本是一封电子邮件。我通常使用 Form Group 来执行此操作。在我的表单控件中 属性 我正在使用“updateOn:'blur'。但是如果我在当前视图中只有 1 个 TextField,我就会遇到问题。似乎没有调用 (blur)。

我在我的应用程序的其他几个地方执行此操作,但只有在那里它不起作用。唯一不同的是组件中只有一个TextField,其他组件中只有几个(2-5)。

'''''HTML

<TextField id="field" class="input" hint="E-mail" keyboardType="email" returnKeyType="done" formControlName="email" #emailQ [ngClass]="{niepoprawne: !emailQValid}" (returnPress)="wyslij()"></TextField>
    <Button text="Wyślij" class="button" (tap)="wyslij()"></Button>

'''''''TS 导出 class ZapomnialemComponent 实现 OnInit {

form: FormGroup;

@ViewChild('emailQ', { static: false }) emailQRef: ElementRef<TextField>;

emailQValid: boolean = true;

wyslanePrzyp: boolean = false;

constructor() {

}

ngOnInit() {


    this.form = new FormGroup({
        email: new FormControl(null, { updateOn: 'blur', validators: [Validators.required, Validators.email] })
    });


    this.form.get('email').statusChanges.subscribe(status => {
        this.emailQValid = status === 'VALID';
    });
}

wyslij()
{
    if(!this.form.valid)
    {
        this.displayAlertDialog("Wprowadź poprawny adres e-mail")
        return;
    }

    this.wyslanePrzyp = true;
}

您的表单中只有一个文本字段,并且已将 updateOn 设置为 blur。除非您将焦点更改为下一个字段或以编程方式从文本字段中移除焦点,否则您的文本字段不会变得模糊。