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

时间:2013-07-29 02:38:38

标签: c# validation asp.net-mvc-4 angularjs

构建我的第一个AngularJS + C#网络应用时遇到了一些问题。我们有一个插件(jQuery)允许我们从任何输入调用一个方法,并在输入字段上显示一个小警告。该方法有点像

user_email.warning('invalid email');

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

但是对于angularJS,我不知道如何实现这一目标。我来自我的控制器,呼叫Web服务。 webservice返回'无效的电子邮件/电子邮件正在使用',我需要发送此警告,但在控制器内“我不知道输入是什么”。很明显我有正确的nameid字段但是,如果控制器调用此方法,这听起来很奇怪。 我能否就这些概念提供帮助,是否是一种好的方法?

1 个答案:

答案 0 :(得分:1)

大多数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-Directives http://blog.brunoscopelliti.com/a-directive-to-manage-file-upload-in-an-angularjs-application

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