如何在使用AngularJS控制器时使用插件进行输入验证

本文关键字:验证 插件 输入 控制器 AngularJS | 更新日期: 2023-09-27 18:25:13

我在构建我的第一个AngularJS+C#web应用程序时遇到了一个小问题。我们这里有一个插件(jQuery),它允许我们从任何输入中调用方法,并且在输入字段上会出现一个小警告。该方法类似

user_email.warning('invalid email');

这对我们来说很简单。user_email是一个HTML元素(input type='text'),我想在其中显示气球。

但有了angularJS,我不知道如何才能做到这一点。我从我的控制器呼叫网络服务。Web服务返回"无效的电子邮件/电子邮件正在使用",我需要发送此警告,但在控制器内";我不知道是哪种输入;。很明显,我有正确的字段nameid,但是,如果控制器调用这个方法,听起来很奇怪。

我能在概念方面得到帮助吗?这是否是一种好的方法?

如何在使用AngularJS控制器时使用插件进行输入验证

大多数dom操作都是通过指令完成的。你可以定义一个自定义指令,我认为这就行了。

//Inside directive
var ddo = {  //directive definition object
    scope : {
      msg : '=message'
    },
    link : function(scope, el, attrs) {
        angular.element(el).warning(scope.msg);
    }
}
//In html
<input my-directive message="someVar" />
//In controller
controllerScope.someVar = /* call to your web service */

编辑:添加博客

http://www.codeproject.com/Articles/607873/Extending-HTML-with-AngularJS-Directiveshttp://blog.brunoscopelliti.com/a-directive-to-manage-file-upload-in-an-angularjs-application

它不是博客,而是一些很好的指令实现。有时,看到例子及其工作方式有助于理解http://mgcrea.github.io/angular-strap/