我有一个输入框,上面有一个用于基本链接验证的 ng-pattern。 我们的 PM 希望我们在用户开始编辑之前就已经在输入中输入了“http://”文本……但是我不能只把这个文本放在那里,因为它破坏了 ng-pattern 验证,因此,不不要出现。
<input type="text" ng-model="$parent.emailData.setting.button[2].link"
name="button2link"
ng-class="{invalid: step3Form.button2link.$invalid}"
ng-pattern="link_pattern"/>
作为引用,link_pattern 定义为
$rootScope.link_pattern = /(https?:\/\/)(www)?[A-Za-z0-9.\-@_~]+\.[A-Za-z]{2,}(:[0-9]{2,5})?(\/[A-Za-z0-9\/_\-.~?&=]*)*/
我正在改写我的问题以进行澄清(这不是我担心的样式,它已经有效) 有没有办法让我在输入字段中使用真实文本(不是占位符)“http://”并且仍然具有链接模式验证
当用户看到输入框时,我希望文本“http://”在那里(现在它只是一个占位符),这样他们就不必自己输入了。
最佳答案
你可以试试:
ng-class="{invalid: (step3Form.button2link.$dirty && step3Form.button2link.$error.pattern)}"
关于javascript - 如何仅在字段为 $dirty 时应用 ng-pattern,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28755340/