我有一段代码,如下所示:
<div class="authentication-validation-message-container">
<ng-container *ngIf="email.invalid && (email.dirty || email.touched)">
<div class="validation-error-message" *ngIf="email.errors.required">Email is required.</div>
<div class="validation-error-message" *ngIf="email.errors.email">Email is not in the valid format. Please use a valid
email.
</div>
</ng-container>
<ng-container *ngIf="pwd.invalid && (pwd.dirty || pwd.touched)">
<div class="validation-error-message" *ngIf="pwd.errors.required">Password is required.</div>
</ng-container>
<div class="validation-error-message" *ngIf="!verdict">{{errorMessage}}</div>
</div>
如果您使用的是角度,那么可以使用类似这样的代码检查输入中是否包含无效数据。
email.errors.required
. 然而,
.required
,
.email
等等,所有这些都是在JS的运行时执行过程中出现的,所以在编译期间没有typescript知道。
当我查看IDE(使用JetBrains Rider,btw)时,我看到了这些编译时警告,我希望以打字脚本惯用方式解决这些警告:
我试过了
(email.errors as any).required
但这些警告不会消失。我相信
as
现在是推荐的铸造方法而不是
(<any> email.errors).required
. 不管怎样,他们两个都没用。所以,如果我不去组件(角度概念)并修改它们,比如通过属性暴露这些错误消息,您的建议是什么?
编辑:
以下是警告信息: