Open rvsia opened 3 years ago
@rvsia Please also add documentation for api usage of manual validation. It would be great to use the schema to validate posted field values on server side without rendering.
@zgover can you provide a simple example?
@Hyperkid123 Say form values were posted to an API /api/endpoint?schemaId=123&email=name@domain.com&...
While processing the request to verify the parameters/values were valid using a defined schema
const schema = {
fields: [
{ name: email, validate: [{type: 'required'}, {type: 'pattern', pattern: '^...$', message: 'Invalid email' }]
}
}
function handler(req, res) {
const { query: { schemaId, ...fieldValues } } = req
const invalidFields = validateFields(schema, fieldsValues)
if (invalidFields.length > 0) {
return res.status(400).json({ status: 'error', error: { field_errors: invalidFields, ... } })
}
res.status(200).json({ status: 'success', code: 200 })
}
Ah, I see. There should be similar functionality on the submit event. This would basically fall into the global validation category but instead of evaluating it client-side function, we would wait for a Promise response.
@zgover So, you want to have a separate "validation engine" based on the DDF schema to use outside the form renderer, right? This sounds like an interesting idea! 🤔
Maybe something available before v4? Should be easy to implement without breaking changes.
@zgover Yeah, I will take a look on it today. And it would be a definitely just an addition, so we can release it asap.
The validation engine is available even now. It's just not prepared to "consume" schema but only a field state.
@zgover Hello, the standalone validation has been released, you can check it here: https://data-driven-forms.org/utilities/standalone-validation
Much appreciate the quickness @rvsia and @Hyperkid123
Scope: Docs
Description
Update documentation: