我有这个代码:
<form name="test">
<input type="text" ng-model="code" name="code" ng-pattern="/^code_[0-9]+$/"/>
<div ng-show="test.code.$dirty && test.code.$invalid">
Error:
<span ng-show="test.code.$error.pattern">Pattern fail.</span>
</div>
</form>
这段代码有两个问题:
“code_232”、“code_232”、“code_232”等字符串通过了验证。我不是正则表达式的专家,所以这可能是一个与我写的正则表达式相关的问题:
/^code_[0-9]+$/
如果我开始写“code_23892”(一个正确的字符串),当我还在写(
test.code.$error.pattern = true
)时我会收到错误消息。有没有一种内置的方法可以避免这种情况?所以我想要的行为是:
如果我写“cod”,并且输入仍然有焦点:没有错误
如果我写“cod”并且输入失去焦点:错误。
如果我写“a”、“ca”、“coa”等:错误,导致模式已经被违反。
这已经可能吗,或者我已经编写了一个客户验证指令来实现这一点?
提前致谢。