有没有办法验证一个字段在角度而不使用指令?
例如:我想对输入字段进行以下验证.
例如:我想对输入字段进行以下验证.
>如果字段为空,我们应该显示“字段必须包含一个值”消息.
>如果字段包含字母数字字符,我们应该显示“字段只能包含数字”.
>一个EVEN号码 – 给用户的消息“值必须是偶数”.
我想在调用JavaScript函数时进行以下验证.
我googled,看到有一种方法使用ng有效和$错误,但我没有设法使其工作.
下面的代码是根据我得到的答案之一:
- <div ng-app>
- <form name='theForm' novalidate>
- <input type='text' name='theText' ng-model='theText' ng-pattern='/^[0-9]+$/'/>
- <span ng-show='theForm.theText.$error.pattern'>Field can contain only digits</span>
- <span ng-show='theText.length<1'>Field must contain a value</span>
- <span ng-show='theText%2!=0&&document.getElementsByName("theText").value!=""&&!theForm.theText.$error.pattern&&!theForm.theText.$pristine'>Value must be an even number</span>
- <br/><input type='submit' value='Submit' />
- </form>
我想把最后一个[span]内的内容放在一个JavaScript函数中,以便使它变得更为通用,并且最终只会在条件变化时改变JS而不是HTML
有人可以请指教吗?一个很好的例子.
我很惊讶没有人提到
ui-validate
- $scope.isOdd = function($value){
- return $value % 2;
- }
- ...
- <form name="myform">
- <input ng-model="myVal" name="value" required
- ng-pattern="/^[0-9]*$/" ui-validate=" 'isOdd($value)' "></input>
- <pre>{{myform.value.$error|json}}</pre>
- </form>
没有比这更简单,它是PROPER AngularJS验证(不是愚蠢的手表)