Params에 입력한 값을 처리할 때 공백을 없앨 수 있나요?

질문

params에 입력한 값을 처리할 때 공백을 없앨 수 있나요?

답변

네 JavaScript trim 또는 replace를 통해 공백을 제거할 수 있습니다.


Fn 관련 팁

validateFn 에서 JS를 적용하시는 경우에는 프론트(앞단)에서 검증하게 되고
실제 실행 직전에 값을 변경하고 싶을때는 requestFn 에서 적용하시면 됩니다.

예제 YAML

  - type: query
    name: trim
    resource: mysql.sample
    sqlType: insert
    sql: select 1
    params:
    - key: test
      # value: '  1  2  3' 
    requestFn: |
      const testParam = params.find(e => e.key === 'test');
      
      if (testParam.value) {
        testParam.value = testParam.value.trim(); // 앞뒤 공백 제거
      }

      console.log('requestFn', testParam);

      return true;

  - type: query
    name: trim + replace
    resource: mysql.sample
    sqlType: insert
    sql: select 1
    params:
    - key: test2
      # value: '  1  2  3' 
    requestFn: |
      const test2Param = params.find(e => e.key === 'test2');
      
      if (test2Param && test2Param.value) {
        // trim()으로 앞뒤 공백 제거 후, 연속된 공백을 단일 공백으로 변경
        test2Param.value = test2Param.value.trim().replace(/\s+/g, '');
      }
      
      console.log('requestFn2', test2Param);

      return true;

관련하여 도움이 필요하시면 문의주세요.
감사합니다.