import { NgForm } from '@angular/forms'; /** * 控件与提示信息,例如: * { * username: { * required: '用户名不能为空', * maxlength: '请输入小于10位长度的字符', * ...... * } * } * */ export interface FieldMessages { [key: string]: { [key: string]: string; }; } /** * 提供了表单验证的统一方法:validate() * * @author fbchen * @version 1.0 2016-11-26 */ export declare abstract class AbstractForm { protected form: NgForm; /** 验证结果 */ protected formErrors: {}; protected defaultValidationMessages: { required: string; email: string; url: string; date: string; dateISO: string; number: string; digits: string; alphanumeric: string; maxlength: string; minlength: string; rangelength: string; range: string; max: string; min: string; }; constructor(form: NgForm); /** * 验证表单,结果存入formErrors * * @param formCtrl 表单控件(NgForm) * @param fieldMsgs 验证控件的自定义错误消息,可选,默认采用默认错误消息。 * @return 验证结果: true-success, false-fail */ protected validateForm(formCtrl: NgForm, fieldMsgs?: FieldMessages): boolean; /** * 验证表单,结果存入formErrors * * @param fieldMsgs 验证控件的自定义错误消息,可选,默认采用默认错误消息。 * @return 验证结果: true-success, false-fail */ validate(fieldMsgs?: FieldMessages): boolean; /** 是否已submitted */ isSubmitted(): boolean; /** * 是否存在错误 */ hasError(): boolean; /** * 当存在多个错误消息时,用此方法获取其中的第一个非空错误显示 */ firstError(): string; /** * 获取控件的一个错误 * * @param name 控件name * @return 控件错误消息,或者空(没有错误) */ getError(name: string): string; }