在我的内容中,我有几个带验证的输入,我需要仅在用户提交表单后才应用ng-invalid
类。
在提交时我可以在范围内设置一个值......
$scope.submitForm = function () {
$scope.submited = true;
// other bits
}
...但我无法弄清楚如何在不更改验证的情况下有条件地显示ng-invalid
。
我正在运行角度1.1.5
答案 0 :(得分:0)
<input type="email" name="email" ng-model="formData.email" required />
<span ng-show="(myForm.email.$dirty || submitted) && myForm.email.$error.required">
Email is required
</span>
只有在用户与输入交互后才使用$ dirty标志显示错误:
答案 1 :(得分:0)
<div ng-app>
<div ng-controller="testController">
<form name="formValidate">
<input type="text" name="testing" required ng-model="testField" ng-class="{ invalid: submitted && formValidate.testing.$invalid }"/>
<button ng-click="test()">Test</button>
</form>
</div>
</div>
<script>
var app = angular.module('', []);
function testController($scope)
{
$scope.submitted = false;
$scope.test= function()
{
$scope.submitted = true;
console.log($scope.formValidate.$invalid);
}
}
</script>
<style>
.invalid
{
border:1px solid red;
}
</style>
答案 2 :(得分:0)
对于自定义错误,我建议在每个字段中使用$ setValidity方法。
await
因此您可以更好地控制css部分,因为这种工作流程还会在您的字段中创建一个自定义类,例如&#34; ng-custom_error_name&#34;所以你可以处理它。