ionic2.0关于表单的验证

1、html文件,实现提示语说明和提交事件

<form [ngFormModel]="commissionForm" (ngSubmit)="onSubmit(commissionForm.value)">
<ion-item [class.error]="!offerName.valid && offerName.touched">
                <ion-label class="form-label">标题</ion-label>
                <ion-input item-right [ngFormControl]="offerName" type="text" placeholder="请输入标题"></ion-input>
            </ion-item>
            <div *ngIf="offerName.hasError('required')&& offerName.touched" class="error-box">* 标题不可为空!</div>
            <div *ngIf="offerName.hasError('minlength')&& offerName.touched" class="error-box">* 标题最小长度2个字符!</div>
            <div *ngIf="offerName.hasError('maxlength')&& offerName.touched" class="error-box">* 标题最大长度255个字符!</div>

2、ts文件,实现表单约束

import {FORM_DIRECTIVES, FormBuilder, Validators, Control, ControlGroup,AbstractControl} from '@angular/common';
@Page({
    templateUrl: 'build/pages/publish/createCommission.html',
    providers: [FormBuilder,CommissionService,ShopService,AppConfig],
    directives: [FORM_DIRECTIVES]
})
 commissionForm:ControlGroup;
    private offerName: AbstractControl;
    constructor(public nav:NavController,private params:NavParams, private fb: FormBuilder,private commissionService:CommissionService,private shopService:ShopService) {
        this.commissionForm = this.fb.group({
            'offerName': ['', Validators.compose([Validators.required, Validators.minLength(2),Validators.maxLength(255)])],
            'residence': new ControlGroup({residenceId: new Control(CustomerSession.getResidenceId())}),
        });
        this.offerName = this.commissionForm.controls['offerName'];
    }

onSubmit(value:string):void {
        this.commissionForm.value.providerType = this.isShop?'MERCHANT':'PERSONAL';
        
        if (this.commissionForm.valid) {
            this.commissionService.addCommission(value).subscribe(
                data => {});
                
                }
}

转载于:https://my.oschina.net/u/241110/blog/714828

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值