angularjs – $dirty vs $invalid:有什么区别?

前端之家收集整理的这篇文章主要介绍了angularjs – $dirty vs $invalid:有什么区别?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我是棱角分明的新手.我很困惑$dirty和$invalid,他们几乎听起来一样.

电子邮件dg-model中使用的$dirty和$invalid有什么区别?以下是场景.这是W3Schools的一个例子.

<form ng-app="myApp" ng-controller="validateCtrl" name="myForm" novalidate>
    <p>
        Username:<br>
        <input type="text" name="user" ng-model="user" required>
        <span style="color: red" ng-show="myForm.user.$dirty && myForm.user.$invalid">
            <span ng-show="myForm.user.$error.required">Username is required.</span>
        </span>
    </p>
    <p>
        Email:<br>
        <input type="email" name="emaill" ng-model="email" required>
        <span style="color: red" ng-show="myForm.email.$dirty && myForm.email.$invalid">
            <span ng-show="myForm.email.$error.required">Email is required.</span>
            <span ng-show="myForm.email.$error.email">Invalid email address.</span>
        </span>
    </p>
    <p>
        <input type="submit" ng-click="Count()"
            ng-disabled="myForm.$invalid" title="Submit" value="Submit">
    </p>
</form>

编辑1:

我很奇怪,如果我将ng-model名称从电子邮件更改为email8,它将不再起作用.

<input type="email" name="emaill" ng-model="email8" required>

是否通过myForm html元素名称进行验证,该名称未使用ng属性定义.它是如何工作的?

ng-show="myForm.email.$dirty && myForm.email.$invalid"
> $dirty:如果用户已经与表单进行了交互,那么它将为TRUE.
> $invalid:如果至少有一个包含表单和控件无效,则为TRUE.

Source

Also on Angular Docs

在问题中更新之后……正在对表单元素名称进行验证.跟踪表单中的所有ng-model以及它的工作方式.

同时更改ng-model名称对验证没有影响.我尝试了你的链接,它对我有用.这必须奏效.

原文链接:https://www.f2er.com/angularjs/141504.html

猜你在找的Angularjs相关文章