【发布时间】:2017-05-19 15:44:14
【问题描述】:
我有一个表单,我必须仅在提交表单时进行验证,我使用以下角度语法成功完成了该表单
form1.inputvalue.$invalid && form1.$submitted
现在,一旦显示错误并开始验证实时输入(或键盘输入)更改的值。我的客户不想在 keyup 上验证它,并且在更改输入时应该隐藏消息,并且应该在第二次单击提交按钮时再次验证。听起来很奇怪,但需要:)。
我在 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>
【问题讨论】:
-
请添加更多代码说明您的操作方式或创建一个 plunkr
标签: javascript angularjs forms validation