MCPcopy Create free account
hub / github.com/TanStack/form / getSyncValidatorArray

Function getSyncValidatorArray

packages/form-core/src/utils.ts:245–302  ·  view source on GitHub ↗
(
  cause: ValidationCause,
  options: SyncValidatorArrayPartialOptions<T> & {
    validationLogic?: any
    form?: any
  },
)

Source from the content-addressed store, hash-verified

243 * @private
244 */
245export function getSyncValidatorArray<T>(
246 cause: ValidationCause,
247 options: SyncValidatorArrayPartialOptions<T> & {
248 validationLogic?: any
249 form?: any
250 },
251): T extends FieldValidators<
252 any,
253 any,
254 any,
255 any,
256 any,
257 any,
258 any,
259 any,
260 any,
261 any,
262 any,
263 any
264>
265 ? Array<
266 SyncValidator<
267 | T['onChange']
268 | T['onBlur']
269 | T['onSubmit']
270 | T['onMount']
271 | T['onDynamic']
272 >
273 >
274 : T extends FormValidators<any, any, any, any, any, any, any, any, any, any>
275 ? Array<
276 SyncValidator<
277 | T['onChange']
278 | T['onBlur']
279 | T['onSubmit']
280 | T['onMount']
281 | T['onDynamic']
282 >
283 >
284 : never {
285 const runValidation = (
286 props: Parameters<ValidationLogicProps['runValidation']>[0],
287 ) => {
288 return props.validators.filter(Boolean).map((validator) => {
289 return {
290 cause: validator!.cause,
291 validate: validator!.fn,
292 }
293 })
294 }
295
296 return options.validationLogic({
297 form: options.form,
298 validators: options.validators,
299 event: { type: cause, async: false },
300 runValidation,
301 })
302}

Callers 2

FormApiClass · 0.90
FieldApiClass · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected