【发布时间】:2017-07-06 09:18:48
【问题描述】:
我做了一个小jshere
我还将代码添加到堆栈溢出 sn-p 但由于某种原因它对我不起作用
var myApp = angular.module('myApp',[]);
function MyCtrl($scope) {
$scope.my_model = ''
$scope.my_regex = '/^[A-Za-z]+(\,[A-Za-z]+)*$/';
$scope.my_placeHolder = 'write something';
}
.invalid input[name=my_input]{
border: 2px solid red;
}
input[name=my_input] {
border: 2px solid blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-controller="MyCtrl">
<form name="contentForm">
<input type="text"
name="my_input"
ng-class="{ 'invalid': contentForm['my_input'].$invalid }"
ng-model="my_model"
ng-pattern="{{my_regex}}"
placeholder="{{my_placeHolder}}">
</form>
</div>
我尝试使用代码 sn-p 但不起作用>,
所以,如果输入文本没有通过正则表达式规则,我的目标是编辑输入边框(让我们将其设为红色)。
正则表达式应该接受任何逗号分隔的字符串。
我尝试了很多东西,但我无法弄清楚我做错了什么。
更新:正则表达式已编辑
【问题讨论】:
-
你的预期结果是什么?
-
我根据您的正则表达式和虚拟文本输入更新了我的答案
-
当模式不匹配时,边框应该是红色的。应该使用控制器中的模式模式应该只允许用逗号分隔的字符串。字符串和逗号之间允许有空格
标签: css angularjs regex angularjs-ng-pattern