private static boolean checkStrParamValue(String paramValue, WebFieldDef fieldDef,
            boolean required, String defValue,
            StringBuilder sBuffer, ProcessResult result) {
        if (TStringUtils.isNotBlank(paramValue)) {
            // Cleanup value extra characters
            paramValue = escDoubleQuotes(paramValue.trim());
        }
        // Check if the parameter exists
        if (TStringUtils.isBlank(paramValue)) {
            if (required) {
                result.setFailResult(sBuffer.append("Parameter ").append(fieldDef.name)
                        .append(" is missing or value is blank!").toString());
                sBuffer.delete(0, sBuffer.length());
            } else {
                procStringDefValue(fieldDef.isCompFieldType(), defValue, result);
            }
            return result.isSuccess();
        }
        // check if value is norm;
        if (fieldDef.isCompFieldType()) {
            // split original value to items
            TreeSet<String> valItemSet = new TreeSet<>();
            String[] strParamValueItems = paramValue.split(fieldDef.splitToken);
            for (String strParamValueItem : strParamValueItems) {
                if (TStringUtils.isBlank(strParamValueItem)) {
                    continue;
                }
                if (!checkStrValueNorms(fieldDef, strParamValueItem, sBuffer, result)) {
                    return result.isSuccess();
                }
                valItemSet.add((String) result.getRetData());
            }
            // check if is empty result
            if (valItemSet.isEmpty()) {
                if (required) {
                    result.setFailResult(sBuffer.append("Parameter ").append(fieldDef.name)
                            .append(" is missing or value is blank!").toString());
                    sBuffer.delete(0, sBuffer.length());
                } else {
                    procStringDefValue(fieldDef.isCompFieldType(), defValue, result);
                }
                return result.isSuccess();
            }
            // check max item count
            if (fieldDef.itemMaxCnt != TBaseConstants.META_VALUE_UNDEFINED) {
                if (valItemSet.size() > fieldDef.itemMaxCnt) {
                    result.setFailResult(sBuffer.append("Parameter ").append(fieldDef.name)
                            .append("'s item count over max allowed count (")
                            .append(fieldDef.itemMaxCnt).append(")!").toString());
                    sBuffer.delete(0, sBuffer.length());
                }
            }
            valItemSet.comparator();
            result.setSuccResult(valItemSet);
        } else {
            if (!checkStrValueNorms(fieldDef, paramValue, sBuffer, result)) {
                return result.isSuccess();
            }
            result.setSuccResult(paramValue);
        }
        return result.isSuccess();
    }
Check the parameter value

@param paramValue  parameter value
@param fieldDef    the parameter field definition
@param required     a boolean value represent whether the parameter is must required
@param defValue     a default value returned if the field not exist
@param sBuffer     string buffer
@param result      process result
@return valid result for the parameter value
inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/common/utils/WebParameterUtils.java