Angular Angle pattern指令未按预期工作

Angular Angle pattern指令未按预期工作,angular,Angular,我尝试为以下输入实现角度模式指令 <input style="width: 100%;" class="form-control" id="datepicker" type="text" (focus)="focusFunction()" placeholder="Date de constructio

我尝试为以下输入实现角度模式指令

<input style="width: 100%;" 
       class="form-control" 
       id="datepicker" 
       type="text" 
       (focus)="focusFunction()" 
       placeholder="Date de construction" 
       title="Date de construction" 
       pattern="[0-9]{2}\/[0-9]{2}\/[0-9]{4}" 
       formControlName="dateConstruction">


但是我可以编码3个数字,比如456。系统不抱怨

第一点是
模式
不是角度指令。它是标签
input
的标准HTML属性。它并不禁止您输入任何您喜欢的值


其次,您需要实现一个真正的角度指令,它截取
输入
元素的
按键
事件,并根据模式中提供的条件传递它或阻止它。

第一点是
模式
不是角度指令。它是标签
input
的标准HTML属性。它并不禁止您输入任何您喜欢的值


第二,,您需要实现一个真正的角度指令,该指令截获
输入
元素的
按键事件,并根据模式中提供的条件传递它或阻止它。

所以您要说的是,当您在表单字段中只输入
456
时,就没有错误了?非常抱歉,是的,它确实指出了问题一个错误,我误解了指令的目标。我想要的是防止输入除模式之外的其他文本,比如,那么?那么,您的意思是,当您在表单字段中只输入
456
时,没有错误?非常抱歉,是的,它确实指出了一个错误,我误解了指令的目标。我想要的是防止输入除模式之外的其他文本,比如说?那不是真的,它实际上是一个指令:某种程度上。。。选择器不是
[pattern]
,而是
[pattern][formControlName]
(或其他组合)。因此,如果没有
formControlName
,它将充当一个简单的属性。无论如何,我不知道有这样的指令。谢谢是的,如果没有模板表单控件或反应式表单控件,它将无法工作,因为它正在向表单控件实例添加验证器。没有这个实例,它什么都做不了。这不是真的,它实际上是一个指令:某种程度上。。。选择器不是
[pattern]
,而是
[pattern][formControlName]
(或其他组合)。因此,如果没有
formControlName
,它将充当一个简单的属性。无论如何,我不知道有这样的指令。谢谢是的,如果没有模板表单控件或反应式表单控件,它将无法工作,因为它正在向表单控件实例添加验证器。没有实例,它什么都做不了。