Ale*_*u R 6 angularjs angularjs-filter
我正在尝试将变量验证为Angular控制器内的电子邮件.
var valid = $filter('email')($scope.email);
Run Code Online (Sandbox Code Playgroud)
电子邮件过滤器不存在,生成"未知提供程序错误".从控制器内部访问电子邮件验证的正确方法是什么?
谢谢.
稍后编辑:不要让我创建自定义过滤器,它必须是一种使用角度验证的方式.
您可以创建隐藏的输入类型电子邮件:
<input type="email" hidden id="emailValidator" required ng-model="x" />
Run Code Online (Sandbox Code Playgroud)
然后在js中将值设置为该输入并检查有效性:
var validator = $('#emailValidator')[0];
validator.value = "someemail@tovalidate.com";
return validator.checkValidity();
Run Code Online (Sandbox Code Playgroud)
此文档也可能有所帮助:https://docs.angularjs.org/guide/forms
ng-disabled您可以通过添加到提交按钮来使用表单并阻止表单提交:
<form name="form">
<input type="email" ng-model="email" name="email" required/>
<button type="submit"
ng-disabled="form.$invalid">Submit</button>
</form>
{{form.email.$valid}}
Run Code Online (Sandbox Code Playgroud)
因为验证的目的是防止提交并显示错误消息。我认为在那里完成它就足够了,而不是处理业务逻辑的控制器。
| 归档时间: |
|
| 查看次数: |
7861 次 |
| 最近记录: |