code: public static Constraint
              mkSimpleConstraint(Function3<String, String, Messages, String> validate,
                                 ExtensionMeta meta) {
          return mkConstraintWithMeta(
              (name, data, messages, options) -> {
                  if (options._inputMode() != InputMode.SINGLE) {
                      throw new IllegalArgumentException("The constraint should only be used to SINGLE INPUT mapping!");
                  } else {
                      String label = getLabel(name, messages, options);
                      String error = validate.apply(label, data.get(name), messages);
                      return isEmptyStr(error) ? Collections.emptyList()
                              : Arrays.asList(entry(name, error));
                  }
              }, meta);
          }
docs: make a constraint from `(label, vString, messages) => [error]` (ps: vString may be NULL/EMPTY)