我正在用PHP在angular5中开发一个小型应用程序。我在验证表格时遇到问题。通过键盘输入数据时,表单验证器可以正常工作。但是,当我用javascript填充数据时,它不起作用。
例如
在电子邮件字段中,
如果我输入myemail
,则显示无效的电子邮件。效果很好。
但是,如果我使用$('#email').value('asdsa@gmail.com')
之类的JavaScript进行设置,则无法正常工作。
怎么了?我是Angular5的新手。
答案 0 :(得分:1)
尝试使用下面的代码在表单控件中设置值。请参阅有角度的文档以获取更多信息https://angular.io/guide/form-validation https://angular.io/guide/reactive-forms
https://angular.io/api/forms/FormControl
this.registerForm.controls.email.setValue('asdsa@gmail.com');
答案 1 :(得分:0)
您只能说看到此link
this.registerForm.patchValue({
email: 'asdsa@gmail.com'
});
或者您可以在创建表单之初就对其进行分配,
this.registerForm = this.fb.group({
email: ['asdsa@gmail.com']
})
答案 2 :(得分:0)
如果我没记错的话,angular不知道jQuery何时影响Physical DOM(因此不知道何时对变量进行检查以引起更改)。为了做到这一点,您必须在jquery操作之后启动一个角度变化周期。