any static method

String? Function(String?) any(
  1. List<InputValidation> validations, {
  2. String? errorMsg,
})

任一规则通过即可 / Pass if any rule passes

只要有一个校验通过就返回 null,全部失败才返回错误 Return null if any validation passes, return error only if all fail

Example:

validator: InputValidation.any([
  InputValidation.email(),
  InputValidation.phone(),
], errorMsg: "请输入邮箱或手机号")

Implementation

static String? Function(String?) any(List<InputValidation> validations, {String? errorMsg}) {
  return (String? value) {
    if (value == null || value.isEmpty) {
      return validations.first.emptyTip;
    }

    for (var validation in validations) {
      final error = validation.validate(value);
      if (error == null) {
        return null;
      }
    }
    return errorMsg ?? "输入格式不正确";
  };
}