我正在尝试 invalidate和禁用页面加载上的提交按钮,因为没有将文本输入文本框无效,但我的代码无效,有人可以提供解决方案。
BehaviorSubject
答案 0 :(得分:1)
您实际上在提交按钮中检查了$dirty
状态是否已禁用状态。
<input type="submit" ng-disabled="myForm.user.$dirty && myForm.user.$invalid">
当用户使用$dirty
输入进行干预时, true
仅设置为myForm.user
,而页面加载时则不然。相反,请尝试检查$pristine
州(或!$dirty
)
<input type="submit" ng-disabled="myForm.user.$pristine || myForm.user.$invalid">
答案 1 :(得分:1)
删除提交按钮中的脏检查:
<input type="submit" ng-disabled=" ̶m̶y̶F̶o̶r̶m̶.̶u̶s̶e̶r̶.̶$̶d̶i̶r̶t̶y̶ ̶&̶&̶ ̶ myForm.user.$invalid">
答案 2 :(得分:0)
字段内容有效
$输入输入并且输入与您的模式不匹配时无效。 你必须使用$ error.required来实现你的目标。
后续工作
<div id="reg_bground">
<div id="formdiv" ng-app="myApp" ng-controller="valCtrl">
<form name="myForm" novalidate>
<div style="font-family:calibri; font-size:30px; font-
weight:bolder;">
<span>Register:</span>
</div>
<div>
<span>Name:</span><br>
<input type="text" name="user" ng-model="user" required><br>
<p ng-show="myForm.user.$dirty &&
myForm.user.$error.required">*Please insert the name</p>
</div>
<input type="number">
<input type="submit" ng-disabled="myForm.user.$dirty &&
myForm.user.$error.required">
</form>
</div>