Angularjs 如何使用ng模型进行验证

Angularjs 如何使用ng模型进行验证,angularjs,Angularjs,我在AngularJS完全是个新手。我想弄清楚ng模型是如何工作的。 我想做的是获取输入字段的字符串,看看它是否等于另一个字符串。我查了一下医生,但没弄清楚。任何建议初学者将不胜感激 var app = angular.module("app",[]); app.controller('MainController',function($scope){ if($scope.name === "Lisa"){ alert("my name is lisa !");

我在AngularJS完全是个新手。我想弄清楚ng模型是如何工作的。 我想做的是获取输入字段的字符串,看看它是否等于另一个字符串。我查了一下医生,但没弄清楚。任何建议初学者将不胜感激

var app = angular.module("app",[]);
app.controller('MainController',function($scope){
    if($scope.name === "Lisa"){
        alert("my name is lisa !");
    }
})
从角度文档粘贴的副本:

ngModel -模块ng中的指令 ngModel指令使用NgModelController将输入、选择、textarea或自定义表单控件绑定到作用域上的属性,NgModelController由该指令创建和公开

ngModel负责:

将视图绑定到模型中,这是其他指令(如input、textarea或select)所需要的

提供验证行为,即必填项、编号、电子邮件、url。 保持控件的状态有效/无效、脏/原始、接触/未接触、验证错误

在元素ng valid、ng invalid、ng dirty、ng pristine、ng toucted、ng untoucted、ng empty、ng not empty上设置相关css类,包括动画

将控件注册到其父窗体

注意:ngModel将尝试通过在当前作用域上计算表达式来绑定给定的属性。如果该属性在此范围中不存在,则将隐式创建该属性并将其添加到范围中


如果您想在控制器中进行验证,如示例中所示,您需要在模型上设置一个观察者,如下所示

var app = angular.module("app",[]);
app.controller('MainController',function($scope){

    $scope.$watch('name', function (newValue, oldValue) {
        // NOTE: triggered on every change in $scope.name model
        if(newValue === "Lisa"){
            alert("my name is lisa !");
        }
    });
});

对于更高级的验证,您需要创建一个需要指令的指令,并使用其控制器添加自定义验证程序。

您的问题是什么?在您当前的代码中,什么不起作用?给我们看一下模板。没问题,我很高兴能帮助您: