code: public NutValidate addAll(Map<String, Object> map) {
          NutMap m2 = NutMap.WRAP(map);
          for (String key : m2.keySet()) {
              // 针对字符串型的值，检查前是否要预先去掉左右空白
              if ("trim".equals(key)) {
                  this.items.add(new TrimValidator());
              }
              // 数字区间
              else if ("intRange".equals(key)) {
                  String str = m2.getString(key);
                  this.items.add(new IntRangeValidator(str));
              }
              // 日期范围的区间
              else if ("dateRange".equals(key)) {
                  String str = m2.getString(key);
                  this.items.add(new DateRangeValidator(str));
              }
              // 验证值的字符串形式，支持 "!" 开头
              else if ("regex".equals(key)) {
                  String str = m2.getString(key);
                  this.items.add(new RegexValidator(str));
              }
              // 确保值非 null
              else if ("notNull".equals(key)) {
                  this.items.add(new NotNullValidator());
              }
              // 针对字符串的值，最大长度不超过多少
              else if ("maxLength".equals(key)) {
                  int len = m2.getInt(key);
                  this.items.add(new MaxLengthValidator(len));
              }
              // 针对字符串的值，最小长度不能低于多少
              else if ("minLength".equals(key)) {
                  int len = m2.getInt(key);
                  this.items.add(new MinLengthValidator(len));
              }
              // 其他的无视
          }
          return this;
      }
docs: 根据一个描述的表增加自身的检查项，
  
  @param map
  描述检查项的 Map
  @return 自身以便链式赋值