Scr*_*ion 10 javascript validation angularjs angular-ui ui-validate
有没有办法在不使用指令的情况下验证角度的字段?例如:我想在输入字段上进行以下验证.
我想在调用JavaScript函数时进行以下验证.
我google了一下,发现有一种方法可以使用ng-valid和$ error,但是我没有设法让它工作.
下面的代码是根据我得到的答案之一:
<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>
Run Code Online (Sandbox Code Playgroud)
我想把最后一个[span]里面的东西放进一个JavaScript函数中,以使它更通用,最终只改变JS,而不是在条件变化时改变HTML
有人可以建议吗?一个工作的例子会很棒.
Pro*_*ser 22
我很惊讶没人提到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>
Run Code Online (Sandbox Code Playgroud)
没有比这更简单,它是PROPER AngularJS验证(不是傻手表)
| 归档时间: |
|
| 查看次数: |
29505 次 |
| 最近记录: |