我有一个输入字段,其输入应为正数。
<input type="number" [(ngModel)]='assetValue'
type="number" pattern="positiveNumberRegex">
positiveNumber()
返回一个RegExp。我将其字符串值存储在变量中。这是在OnInit生命周期挂钩中完成的。
this.positiveNumberRegex = this.regexPatternService.positiveNumber().source;
console.log(this.positiveNumberRegex); // ^[1-9][0-9]*[.]?[0-9]*$
但是当我输入一个正数时,验证就会失败。
如果我将正则表达式硬编码为pattern指令,则可以正常工作。
<input type="number" [(ngModel)]='assetValue'
type="number" pattern="^[1-9][0-9]*[.]?[0-9]*$">
这是什么原因?
答案 0 :(得分:2)
使用[]
左右模式来支持绑定。
[pattern]="positiveNumberRegex">
答案 1 :(得分:0)
[pattern]方括号告诉angular读取正数正则表达式中的内容,没有方括号则将其视为常规字符串