【发布时间】:2019-07-26 08:56:15
【问题描述】:
这是我收到的关于以下输入的错误:
Error: [$parse:lexerr] Lexer Error: Unexpected next character at columns 0-0 [^] in expression [^$|^[0-9]{4}\-[0-9]{2}\-[0-9]{3}$].
<input
type='text'
name="precision"
ng-model="$ctrl.list[$index][$ctrl.idFieldName]"
ng-required
ng-blur="$ctrl.validateInput($ctrl.list[$index][$ctrl.idFieldName], $index)"
ng-pattern="^$|^[0-9]{4}\-[0-9]{2}\-[0-9]{3}$" />
【问题讨论】:
-
尝试将其转换为字符串或 RegExp 文字,即。 ng-pattern="'^$|^[0-9]{4}\-[0-9]{2}\-[0-9]{3}$'" (带 ' ')或 ng-pattern ="/^$|^[0-9]{4}\-[0-9]{2}\-[0-9]{3}$/"。不能肯定地说,但它似乎是问题所在,如果我们有一个可行的例子,可以肯定地说。
-
@Yftach 你是对的。但没有意义的是,我在同一个项目中有另一个完美的工作示例,使用语法
ng-pattern="^$|^[0-9]{4}\-[0-9]{2}\-[0-9]{3}$" -
好吧,至少以前可以正常工作,但可能因为最近的更新而不再可用。很奇怪。
标签: angularjs validation input