javascript - 如何仅在字段为 $dirty 时应用 ng-pattern

标签 javascript angularjs forms validation ng-pattern

我有一个输入框,上面有一个用于基本链接验证的 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/

相关文章:

javascript - 获取一页网站的 div 偏移量

javascript - 图片加载失败

angularjs - 如何在 AngularJS 应用程序中同步加载数据

php - 多表单向mysql发送数据

javascript - 从 json 中提取单个项目并以 html 形式显示

javascript - 如何使图像响应?

javascript - AngularJS,选择 onChange 或 ngChange

angularjs - 我怎样才能完成这个CSS网格

php - HTML/PHP - 默认输入值

javascript - 使用 Javascript 中的选项动态添加输入类型选择