아래 예제 YAML을 통해 데이터 입력시 검증하는 방법들을 비교할 수 있습니다.
- validateFn
- validateFromQuery
- requestSubmitFn
관련하여 도움이 필요하시면 말씀해주세요.
menus:
- path: pages/6SXXlA
name: validateFn, requestSubmitFn
pages:
- path: pages/6SXXlA
blocks:
- type: query
resource: mysql.qa
sqlType: insert
sql: >
INSERT INTO wine_stock
SET name = :name
params:
- key: name
label: 사업자번호 1234567890
required: true
validateFromQuery:
type: query
resource: mysql.qa
sql: >
SELECT COUNT(id) AS count
FROM wine_stock
WHERE name = :value
validateFn: |
if (+validateFromQuery.count > 0) {
return '중복된 사업자번호 입니다.'
}
return true
validateFn: |
if (param.value.length != 10) {
return '사업자번호(10자리)를 입력해주세요.'
}
if (!isFinite(+param.value)) {
return '사업자 번호만 입력해주세요.'
}
return true
# showValidateButton: true
# validateButtonLabel: 사업자조회
# validText: 새로운 사업자번호 사용가능
id: query1
requestSubmitFn: |
const name = query1.params.name
if (!name || !name.value) {
throw new Error('사업자번호가 제공되지 않았습니다.');
}
if (name.value.length != 10) {
throw new Error('사업자번호(10자리)를 입력해주세요.');
}
if (!isFinite(+name.value)) {
throw new Error('사업자 번호만 입력해주세요.');
}
return true;