Angualr Reactive Forms相关问题,条件验证,control监听

  1. 有条件的进行必填项验证 conditional required
    项目中需要使用有条件的必填项验证
    默认用法
<textarea placeholder="请输入..." [(ngModel)]="item.summary"
        minRows="1" maxRows="2"
        cols="30" name="summary" #summary="ngModel"
        required
></textarea>

条件用法

<textarea placeholder="请输入..." [(ngModel)]="item.summary"
        minRows="1" maxRows="2"
        cols="30" name="summary" #summary="ngModel"
        [required]="data.actionType === 'recommend'"
></textarea>
  1. 在Safari中的坑,如果使用了form,请一定要用最标准的写法,即(ngSubmit)="submit(data)”,在下方的buttons中有一个button的type=“submit",但是不能添加click事件,否则在Safari中会刷新标签页
    错误写法
<form #catalog="ngForm" class="redef-dialog">
<div class="dialog-bottom">
  <button [disabled]="!catalog.form.valid" type="submit" 
          md-button class="sure" (click)="dialogRef.close('cancel')">
          确定
  </button>
   <button type="button" class="cancel" (click)="dialogRef.close('cancel')">
  取消
  </button>
</div> 
</form>

正确写法

<form #catalog="ngForm" class="redef-dialog"  (ngSubmit)="dialogRef.close(data)"> 
  <div class="dialog-bottom">
    <button [disabled]="!catalog.form.valid" type="submit"
            md-button class="sure">确定</button> 
    <button md-button type="button" class="cancel" (click)="dialogRef.close('cancel')">
    取消</button>
  </div>
</form> 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值