Angularjs 确定表单输入是否具有焦点
我在AngularJS中进行验证,如果有3种类型的错误,就会显示一个div 对于required,我只想在页面以空值提交时显示错误消息Angularjs 确定表单输入是否具有焦点,angularjs,validation,focus,onchange,Angularjs,Validation,Focus,Onchange,我在AngularJS中进行验证,如果有3种类型的错误,就会显示一个div 对于required,我只想在页面以空值提交时显示错误消息 <div class="error" data-ng-show="submitted && mainForm.email.$error.required" /> 对于正则表达式验证,我希望它标记实时默认行为 <div class="error" data-ng-show="mainForm.email.$error.pat
<div class="error" data-ng-show="submitted && mainForm.email.$error.required" />
对于正则表达式验证,我希望它标记实时默认行为
<div class="error" data-ng-show="mainForm.email.$error.pattern" />
我面临的问题是minlength。我不想在他们打字时显示它。这很烦人,因为他们还没有完成打字。我也不想在提交时显示它,我认为那太晚了。当它们不再是元素的焦点时,我想展示它
如果//mainForm.email.$focus存在,我可以简单地这样做
<div class="error" data-ng-show="mainForm.email.$error.minlength &&
!mainForm.email.$focus"/>
有人知道做这种检查的方法吗?或者有没有其他方法
谢谢 您需要了解ModelOptions,debounce和updateOn可以延迟模型更改触发事件或在DOM事件上触发更改 检查页面上的示例
<div ng-controller="ExampleController">
<form name="userForm">
Name:
<input type="text" name="userName"
ng-model="user.name"
ng-model-options="{ updateOn: 'blur' }"
ng-keyup="cancel($event)" /><br />
Other data:
<input type="text" ng-model="user.data" /><br />
</form>
<pre>user.name = <span ng-bind="user.name"></span></pre>
</div>
姓名:
其他数据:
user.name=
是的,确实如此为此,您可以使用ngFocus和ngBlur 这是密码
<input type="text"
name="searchText"
ng-model="searchText"
ng-blur="searchIsInActive()"
ng-click="searchIsActive()"
placeholder="Search">
这里出错
ngFocus和ngBlur采用表达式,ngShow在真实评估后显示另一个简单选项是:
很高兴知道这一点。唯一的问题是我仍然需要对Regex验证进行实时验证。我正在考虑使用ng blur并设置一个范围变量。我只是不想在每个领域都这样做:(
<input type="text"
name="searchText"
ng-model="searchText"
ng-blur="searchIsInActive()"
ng-click="searchIsActive()"
placeholder="Search">