Angularjs 为什么我的正则表达式反转为ng模式?

Angularjs 为什么我的正则表达式反转为ng模式?,angularjs,Angularjs,{{myvar}} 错误 在本例中,我希望它与“abcdabcdabcd”匹配,但这是无效的,而“232r4t3trq”或除[abcd]以外的任何内容都是有效的 我很困惑。基本上Angular的url验证非常糟糕,所以我试图改进它,但后来我被ng模式的奇怪行为所困扰。 (嗯,我刚才试着观察那个变量,它在有效时变为[{}],无效时变为null…?@)显示的错误是针对键url。因此,它表示您键入的URL无效,因为您的输入类型为URL。如果您不想将输入验证为URL,请将其设置为文本类型 如果您想在n


{{myvar}}

错误

在本例中,我希望它与“abcdabcdabcd”匹配,但这是无效的,而“232r4t3trq”或除[abcd]以外的任何内容都是有效的

我很困惑。基本上Angular的url验证非常糟糕,所以我试图改进它,但后来我被ng模式的奇怪行为所困扰。
(嗯,我刚才试着观察那个变量,它在有效时变为[{}],无效时变为null…?@)

显示的错误是针对键
url
。因此,它表示您键入的URL无效,因为您的输入类型为
URL
。如果您不想将输入验证为URL,请将其设置为文本类型

如果您想在ng模式验证失败时显示错误,请使用

ng-show="linkform.$error.pattern"

此外,如果您只希望在字段内接受a、b、c和d,则模式应为
/^[abcd]+$/

,这不会解释有效时显示空对象数组和无效时显示空对象数组的行为。不管这些未定义的行为,你的建议都是正确的。显然,Angular不允许您使用自己的模式指定url类型,但是,如果不工作,则会自动失败。耶。。。再次感谢您的帮助,获得了更多的知识。
ng-show="linkform.$error.pattern"