首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >复反应形式验证

复反应形式验证
EN

Stack Overflow用户
提问于 2020-11-26 22:26:58
回答 1查看 116关注 0票数 0

我想找一种更好的方法来处理复杂的角度形式。该表单有许多级联下降,我需要找到一种降低复杂性的方法。

以下是我正在努力实现的验证:

  1. 根据选定的品牌,我想要填充相关的模型,而基于选择的我要填充模型类型(制造商和经销商侧)。
  2. 基于用户选择的品牌在经销商方面,我应该更新(品牌制造者)下拉在左上角,例如,如果用户选择奥迪在经销商,那么品牌制造商下拉框应该更新的期望值,BWM和奥迪。
  3. 注册ID中应该有验证作为用户类型,并离开字段,例如用户输入为12345657,将调用API来检查现有的注册ID,如果存在,它将预先填充并锁定Maker侧的字段。
  4. 如果用户在经销商端输入某些注册ID,则调用相同的api检查,如果返回现有ID,则字段将被预先填充和锁定。
  5. 在制造商端,选择模型,例如,M3、make、type和description值将从API中获取并锁定。
  6. 如果选择的模型是M3,则通过API验证注册ID中的用户输入,例如,用户输入为15377347,如果该输入不在系统中,则应禁用表单提交。
  7. 如果用户登录为奥迪,制造商为奥迪,经销商为宝马,则制造商和经销商的验证是互换性的,当用户作为宝马制造商登录时,同样的验证将在经销商方有效。如果答案指向教程或堆栈闪电式演示,请详细说明上面的验证方法是什么。
EN

回答 1

Stack Overflow用户

发布于 2020-12-11 14:20:56

前两种不是验证,它们是您在发生事件时需要采取的操作,即在下降中所选择的值的变化。所以你需要有这样的东西:

代码语言:javascript
复制
<select (change)="onChange1()" formControlName="yourDealerDD1">
   <option *ngFor="..." [ngValue]="record.id">{{record.name}}</option>
</select>

<select formControlName="yourMakerDD1">
   <option *ngFor="for brand of makerBrands" [ngValue]="brand.id">{{brand.displayName}}</option>
</select>

其中,onChange1()是一个函数,当您在下拉列表中更改名为yourDealerDD1的响应形式的值时,将调用该函数。在该函数中,您可以筛选和设置makerBrands,以便yourMakerDD1下拉显示适当的选项。

我不能回答你所有的问题,但如果我是你,我会首先阅读以下内容:

  1. 为反应性窗体控件创建自定义验证程序
  2. 使用valueChanges侦听更改
  3. 从代码中禁用控件
  4. 原始的,肮脏的,接触的状态之间的区别以及关于控件状态的一般情况(有效、无效、肮脏、触摸、原始、访问等)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65029947

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档