繁体   English   中英

如何即使在表单有效验证状态下也仅在提交时验证角度形式

[英]How to validate angular form only on submit even at form active validation state

我有一个表格,我只需要在提交表格时进行验证,而我成功使用了以下角度合成函数

form1.inputvalue.$invalid && form1.$submitted

现在,一旦显示了错误,它将开始实时更改输入(或键入)的值。 我的客户不想在keyup。上对其进行验证,并且在更改输入时应该隐藏消息,并且应该在第二次单击Submit按钮后再次进行验证。 听起来很奇怪,但需要:)。

我在输入的ng-change上尝试了ng-hide =“ true”。 但是它不会在控制台中触发。 你能帮助我我在哪里失踪

 $scope.hidevalidate = function(){ console.log("coming to hide"); $scope.hidevalidation = true; console.log("hidden"); }; 
 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> <form name="frmdata" novalidate> <input type="text" class="class1" name="item1" ng-model="frmdata.item1" id="item" ng-change="hidevalidate()" ng-blur="focusout('item1');" ng-disabled="disableItem1" ng-pattern="/^([0-9]{1,25})?$/" ng-model-options="{allowInvalid: true}"> </input> <div ng-show="frmdata.item1.$invalid && form1.$submitted" > <div ng-hide="hidevalidation" class="error-message">Item should not be empty (or) only numbers allowed</div> </div> </form> 

您可以使用form1.$setPristine()将表单标记为全新,因此从理论上讲,您应该像是第一次访问该页面(因此,如果您的逻辑第一次正确处理了该表单,则应该之后也是如此)。

参见https://docs.angularjs.org/api/ng/type/form.FormController

您可以在单击“提交”按钮时执行所有检查的方法,然后将属性novalidate添加到表单,以便不进行任何检查,因为此方法将检查所有内容并设置所有错误(如果有)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM