【发布时间】:2018-01-28 07:37:50
【问题描述】:
您好,我正在使用 Angular 开发 Web 应用程序。我正在尝试在提交表单时显示错误消息。我有两个下拉列表。如果用户未从下拉列表中选择任何选项,我将尝试显示错误消息。如果用户没有从第一个下拉列表中选择选项,那么我可以显示错误消息,但我无法显示第二个下拉列表的错误消息。
<form *ngIf="formResetToggle" class="form-horizontal" name="permissionEditorForm" #f="ngForm" novalidate
(ngSubmit)="f.form.valid ? savePermission(selectedUserRole.value,selectedScopeName.value) :(!userrole.valid && showErrorAlert('User role is required', 'Please select user role'));">
<div class="form-group has-feedback">
<label class="control-label col-md-2" for="userrole">User Role:</label>
<div class="col-md-10" ng-class="{'valid':userrole.$valid}">
<select #selectedUserRole autofocus name='userrole' class="form-control" [(ngModel)]='userrole' required>
<option value="">Select User Role</option>
<option *ngFor="let userrole of userroles; let i = index" [value]="userrole.userroleid">
{{userrole.username}}
</option>
</select>
<span *ngIf="(f.submitted && !userrole.valid && !userrole) || (!userrole.valid && userrole.dirty)" class="errorMessage">
User Role Required!
</span>
</div>
</div>
<div class="form-group has-feedback">
<label class="control-label col-md-2" for="scopename">Scope Name:</label>
<div class="col-md-10" ng-class="{'valid':scopename.$valid}">
<select #selectedScopeName autofocus name='scopename' class="form-control" [(ngModel)]='scopename' required>
<option value="">Select Scope Name</option>
<option *ngFor="let scope of scopes; let i=index" [value]="scope.scopeid">
{{scope.scopevalue}}
</option>
</select>
<span *ngIf="(f.submitted && !scopename.valid && !scopename) || (!scopename.valid && scopename.dirty)" class="errorMessage">
Scope Name Required!
</span>
</div>
</div>
<label class="control-label col-md-2"> </label>
<div class="col-md-7">
<div class="checkbox">
</div>
</div>
<div class="col-md-12">
<hr class="edit-last-separator-hr" />
</div>
<div class="form-group actionBtn-form-group">
<div class="pull-right">
<input type="submit" class="btn btn-primary" value="Save Permission"/>
</div>
</div>
<div class="clearfix"></div>
</form>
我已经写了下面的条件来进行验证。
<form *ngIf="formResetToggle" class="form-horizontal" name="permissionEditorForm" #f="ngForm" novalidate (ngSubmit)="f.form.valid ?savePermission(selectedUserRole.value,selectedScopeName.value) :
(!userrole.valid && showErrorAlert('User role is required', 'Please select user role'));">
上面的代码只验证第一个下拉列表。
我在提交按钮上有 if 条件。我能够显示第一个下拉列表的错误消息。有人可以帮我完成上述验证工作吗?任何帮助,将不胜感激。谢谢你
【问题讨论】:
-
你使用的是 Angular 而不是 AngularJS,它们是不同的。
标签: angular validation form-submit