angularjs - 文本字段的自定义验证

标签 angularjs

我要求在单行文本字段中具有以下条件:

  1. 第一个字符应该是大写字母。
  2. 接下来的两个字符应为字母数字,但任何字母都应为大写。

鉴于以下代码,我如何验证此类条件?

<input
    type="text"
    maxlength="3"
    ng-model="name"
    ng-change="name = name.toUpperCase();"
/>

最佳答案

您可以使用ngPattern强制使用正确的模式。属性。

您无法使用 ngChange 自动将用户输入的小写字母转换为大写字母,因为如果输入无效,则模型未定义,但您可以使用 $parsers相反。

<input
    type="text"
    ng-model="name"
    ng-pattern="'[A-Z][A-Z0-9]{2}'"
/>

如果您使用的是 between 1.3.0-beta.12 and 1.3.2 版本,请改用模式 ^[A-Z][A-Z0-9]{2}$

如果您使用的是 1.3.0-beta.11 or lower 版本,请改用模式 /^[A-Z][A-Z0-9]{2}$/

关于angularjs - 文本字段的自定义验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30454433/

相关文章:

javascript - 如何使 chrome 扩展与页面上的 Angular 对话

javascript - ng-bind-html html 与 css 不起作用

javascript - 直接从 View 访问共享方法

javascript - 按钮 ng-click 更改 URL 但不呈现新 View ?

angularjs - 如何在 Angular JS 中获取复选框数组?

angularjs - Angular - 使用 Restangular 时中止 ajax 请求

javascript - DevExtreme 和 DxMap 和 DxDataGrid

javascript - bootstrap-select 没有选择正确的项目

angularjs - 页面加载时调用 Ionic 无限滚动函数

jquery - 如何在 OnsenUI 框架中对列表进行分页