validator method
Implementation
HbValidatorFnType validator() {
// 自定义了validator,就使用自定义的validator
if (widget.data.validator != null) {
return widget.data.validator;
}
switch (widget.data.validatorType) {
case HbValidatorType.email:
return FormBuilderValidators.compose([
FormBuilderValidators.required(),
FormBuilderValidators.email(),
]);
case HbValidatorType.password:
return FormBuilderValidators.compose([
FormBuilderValidators.required(),
FormBuilderValidators.password(),
]);
case HbValidatorType.confirmPass:
return (String? v) {
v = v!.trim();
var passwordVerifyFn = FormBuilderValidators.compose([
FormBuilderValidators.required(),
FormBuilderValidators.password(),
]);
var err = passwordVerifyFn(v);
if (err != null) return err;
if (v != widget.data.preController?.text) {
return HbCommonLocalizations.current.confirmPasswordError;
}
return null;
};
case HbValidatorType.require:
case HbValidatorType.code:
return FormBuilderValidators.required();
}
}