@declaform/core
v0.0.4
Published
The form validation library for declaration
Downloads
43
Readme
@declaform/core
The form validation library for declaration
Installation
npm install @declaform/coreUsage
Define validation rule types
declare module '@declaform/core' {
interface ValidatorDefineConfig {
rules: {
username: {}
password: {}
passwordConfirm: {
ruleReferenceInputName: string
}
}
}
}Define rules
sample for zod
import { defineValidationRule } from '@declaform/core'
const usernameSchema = z.string().min(1).max(64)
defineValidationRule('username', {
validate(value) {
return usernameSchema.safeParse(value)
}
})
const passwordSchema = z.string().min(8).max(64).regex(passwordRegex)
defineValidationRule('password', {
validate(value) {
return passwordSchema.safeParse(value)
}
})
defineValidationRule('passwordCOnfirm': {
validate(value, data, { ruleReferenceInputName }) {
return passwordSchema
.refine(() => {
return value === data[ruleReferenceInputName]
}, {
message: 'Password mismatch'
})
.safeParse(value)
}
})Execute field validation
import { validator } form '@declaform/core'
const validate = () => {
const ret = validator.validateField('username', 'input user name value', {}, {
name: 'username'
})
if (ret.success === false) {
alert(`validation error: ${ret.error.join(', ')}`)
}
console.log('success')
}