我有一个表单,其中有一些输入字段。其中一些是必填字段,一些是电子邮件字段。
我对必填字段使用 HTML5 required属性,对电子邮件字段使用type="email"属性。
我的问题是单击提交按钮后,我必须为所有无效字段显示红色边框。
这是我的表格:
<form name="addRelation">
<label>First Name</label>
<input type="text" placeholder="First Name" data-ng-model="model.firstName" id="FirstName" name="FirstName" required/><br/>
<span class="text-error" data-ng-show="addRelation.submitted && addRelation.FirstName.$error.required">first Name is required</span><br/>
<label>Last Name</label>
<input type="text" placeholder="Last Name" data-ng-model="model.lastName" id="LastName" name="LastName" required/><br/>
<span class="text-error" data-ng-show="addRelation.submitted && addRelation.LastName.$error.required">Last Name is required</span><br/>
<label>Email</label>
<input type="email" placeholder="Email" data-ng-model="model.email" id="Email" name="Email" required/><br/>
<span class="text-error" data-ng-show="addRelation.submitted && addRelation.Email.$error.required">Email address is required</span><br/>
<span class="text-error" data-ng-show="addRelation.submitted && addRelation.Email.$error.email">Email address is not valid</span><br/>
<input class="btn" data-ng-click="save(model)" type="button" value="SAVE" />
</form>
和我的保存功能。
$scope.save= function (model) {
if ($scope.addRelation.$valid) {
//form is valid- so save it to DB
}
else {
//if form is not valid set $scope.addRelation.submitted to true
$scope.addRelation.submitted=true;
}
};
})
现在,当我单击保存按钮而不填写任何内容时,所有错误(跨度)都会显示出来。但我想为所有无效字段显示红色边框。
我尝试过以下案例:
input.ng-dirty.ng-invalid{border:1px solid black;}
但是当用户直接单击提交按钮时,这会失败。(不触摸输入字段)
input.ng-invalid{border:1px solid black;}
这会在用户打开注册表单后立即显示红色边框。
请帮忙。