@angular/forms 21.0.4 → 21.1.0-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/_structure-chunk.mjs +385 -453
- package/fesm2022/_structure-chunk.mjs.map +1 -1
- package/fesm2022/forms.mjs +133 -133
- package/fesm2022/forms.mjs.map +1 -1
- package/fesm2022/signals-compat.mjs +6 -9
- package/fesm2022/signals-compat.mjs.map +1 -1
- package/fesm2022/signals.mjs +293 -276
- package/fesm2022/signals.mjs.map +1 -1
- package/package.json +4 -4
- package/types/_structure-chunk.d.ts +708 -788
- package/types/forms.d.ts +1 -1
- package/types/signals-compat.d.ts +1 -1
- package/types/signals.d.ts +225 -191
package/types/forms.d.ts
CHANGED
package/types/signals.d.ts
CHANGED
|
@@ -1,16 +1,152 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v21.0.
|
|
2
|
+
* @license Angular v21.1.0-next.1
|
|
3
3
|
* (c) 2010-2025 Google LLC. https://angular.dev/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { InputSignal, InputSignalWithTransform, ModelSignal, OutputRef, Signal, ResourceRef } from '@angular/core';
|
|
8
|
-
import { WithOptionalField, ValidationError, DisabledReason, PathKind, SchemaPath, SchemaPathRules, LogicFn, OneOrMany, SchemaPathTree, FieldValidator, FieldContext, TreeValidationResult, TreeValidator, Debouncer } from './_structure-chunk.js';
|
|
9
|
-
export { AsyncValidationResult, ChildFieldContext, CompatFieldState, CompatSchemaPath, CustomValidationError, EmailValidationError, FIELD, Field, FieldState, FieldTree, FormOptions, ItemFieldContext, ItemType, MAX, MAX_LENGTH, MIN, MIN_LENGTH, MaxLengthValidationError, MaxValidationError, MaybeFieldTree, MaybeSchemaPathTree, MetadataKey, MetadataReducer, MetadataSetterType, MinLengthValidationError, MinValidationError, NgValidationError, PATTERN, PatternValidationError, REQUIRED, ReadonlyArrayLike, RequiredValidationError, RootFieldContext, Schema, SchemaFn, SchemaOrSchemaFn, SignalFormsConfig, StandardSchemaValidationError, Subfields, SubmittedStatus, ValidationResult, ValidationSuccess, Validator, WithField, WithoutField, apply, applyEach, applyWhen, applyWhenValue, createManagedMetadataKey, createMetadataKey, customError, emailError, form, maxError, maxLengthError, metadata, minError, minLengthError, patternError, provideSignalFormsConfig, requiredError, schema, standardSchemaError, submit } from './_structure-chunk.js';
|
|
10
|
-
import { StandardSchemaV1 } from '@standard-schema/spec';
|
|
11
7
|
import { HttpResourceRequest, HttpResourceOptions } from '@angular/common/http';
|
|
8
|
+
import { Signal, ResourceRef, InputSignal, InputSignalWithTransform, ModelSignal, OutputRef } from '@angular/core';
|
|
9
|
+
import { PathKind, FieldContext, TreeValidationResult, SchemaPath, SchemaPathRules, WithOptionalField, ValidationError, DisabledReason, Debouncer, LogicFn, FieldValidator, TreeValidator, AggregateMetadataKey, MetadataKey, OneOrMany, SchemaPathTree } from './_structure-chunk.js';
|
|
10
|
+
export { AsyncValidationResult, ChildFieldContext, CompatFieldState, CompatSchemaPath, CustomValidationError, EmailValidationError, FIELD, Field, FieldState, FieldTree, FormOptions, ItemFieldContext, ItemType, MAX, MAX_LENGTH, MIN, MIN_LENGTH, MaxLengthValidationError, MaxValidationError, MaybeFieldTree, MaybeSchemaPathTree, MinLengthValidationError, MinValidationError, NgValidationError, PATTERN, PatternValidationError, REQUIRED, ReadonlyArrayLike, RequiredValidationError, RootFieldContext, Schema, SchemaFn, SchemaOrSchemaFn, SignalFormsConfig, StandardSchemaValidationError, Subfields, SubmittedStatus, ValidationResult, ValidationSuccess, Validator, WithField, WithoutField, andMetadataKey, apply, applyEach, applyWhen, applyWhenValue, createMetadataKey, customError, emailError, form, listMetadataKey, maxError, maxLengthError, maxMetadataKey, minError, minLengthError, minMetadataKey, orMetadataKey, patternError, provideSignalFormsConfig, reducedMetadataKey, requiredError, schema, standardSchemaError, submit } from './_structure-chunk.js';
|
|
11
|
+
import { StandardSchemaV1 } from '@standard-schema/spec';
|
|
12
12
|
import '@angular/forms';
|
|
13
13
|
|
|
14
|
+
/**
|
|
15
|
+
* A function that takes the result of an async operation and the current field context, and maps it
|
|
16
|
+
* to a list of validation errors.
|
|
17
|
+
*
|
|
18
|
+
* @param result The result of the async operation.
|
|
19
|
+
* @param ctx The context for the field the validator is attached to.
|
|
20
|
+
* @return A validation error, or list of validation errors to report based on the result of the async operation.
|
|
21
|
+
* The returned errors can optionally specify a field that the error should be targeted to.
|
|
22
|
+
* A targeted error will show up as an error on its target field rather than the field being validated.
|
|
23
|
+
* If a field is not given, the error is assumed to apply to the field being validated.
|
|
24
|
+
* @template TValue The type of value stored in the field being validated.
|
|
25
|
+
* @template TResult The type of result returned by the async operation
|
|
26
|
+
* @template TPathKind The kind of path being validated (a root path, child path, or item of an array)
|
|
27
|
+
*
|
|
28
|
+
* @experimental 21.0.0
|
|
29
|
+
*/
|
|
30
|
+
type MapToErrorsFn<TValue, TResult, TPathKind extends PathKind = PathKind.Root> = (result: TResult, ctx: FieldContext<TValue, TPathKind>) => TreeValidationResult;
|
|
31
|
+
/**
|
|
32
|
+
* Options that indicate how to create a resource for async validation for a field,
|
|
33
|
+
* and map its result to validation errors.
|
|
34
|
+
*
|
|
35
|
+
* @template TValue The type of value stored in the field being validated.
|
|
36
|
+
* @template TParams The type of parameters to the resource.
|
|
37
|
+
* @template TResult The type of result returned by the resource
|
|
38
|
+
* @template TPathKind The kind of path being validated (a root path, child path, or item of an array)
|
|
39
|
+
*
|
|
40
|
+
* @category validation
|
|
41
|
+
* @experimental 21.0.0
|
|
42
|
+
*/
|
|
43
|
+
interface AsyncValidatorOptions<TValue, TParams, TResult, TPathKind extends PathKind = PathKind.Root> {
|
|
44
|
+
/**
|
|
45
|
+
* A function that receives the field context and returns the params for the resource.
|
|
46
|
+
*
|
|
47
|
+
* @param ctx The field context for the field being validated.
|
|
48
|
+
* @returns The params for the resource.
|
|
49
|
+
*/
|
|
50
|
+
readonly params: (ctx: FieldContext<TValue, TPathKind>) => TParams;
|
|
51
|
+
/**
|
|
52
|
+
* A function that receives the resource params and returns a resource of the given params.
|
|
53
|
+
* The given params should be used as is to create the resource.
|
|
54
|
+
* The forms system will report the params as `undefined` when this validation doesn't need to be run.
|
|
55
|
+
*
|
|
56
|
+
* @param params The params to use for constructing the resource
|
|
57
|
+
* @returns A reference to the constructed resource.
|
|
58
|
+
*/
|
|
59
|
+
readonly factory: (params: Signal<TParams | undefined>) => ResourceRef<TResult | undefined>;
|
|
60
|
+
/**
|
|
61
|
+
* A function to handle errors thrown by httpResource (HTTP errors, network errors, etc.).
|
|
62
|
+
* Receives the error and the field context, returns a list of validation errors.
|
|
63
|
+
*/
|
|
64
|
+
readonly onError: (error: unknown, ctx: FieldContext<TValue, TPathKind>) => TreeValidationResult;
|
|
65
|
+
/**
|
|
66
|
+
* A function that takes the resource result, and the current field context and maps it to a list
|
|
67
|
+
* of validation errors.
|
|
68
|
+
*
|
|
69
|
+
* @param result The resource result.
|
|
70
|
+
* @param ctx The context for the field the validator is attached to.
|
|
71
|
+
* @return A validation error, or list of validation errors to report based on the resource result.
|
|
72
|
+
* The returned errors can optionally specify a field that the error should be targeted to.
|
|
73
|
+
* A targeted error will show up as an error on its target field rather than the field being validated.
|
|
74
|
+
* If a field is not given, the error is assumed to apply to the field being validated.
|
|
75
|
+
*/
|
|
76
|
+
readonly onSuccess: MapToErrorsFn<TValue, TResult, TPathKind>;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Options that indicate how to create an httpResource for async validation for a field,
|
|
80
|
+
* and map its result to validation errors.
|
|
81
|
+
*
|
|
82
|
+
* @template TValue The type of value stored in the field being validated.
|
|
83
|
+
* @template TResult The type of result returned by the httpResource
|
|
84
|
+
* @template TPathKind The kind of path being validated (a root path, child path, or item of an array)
|
|
85
|
+
*
|
|
86
|
+
* @category validation
|
|
87
|
+
* @experimental 21.0.0
|
|
88
|
+
*/
|
|
89
|
+
interface HttpValidatorOptions<TValue, TResult, TPathKind extends PathKind = PathKind.Root> {
|
|
90
|
+
/**
|
|
91
|
+
* A function that receives the field context and returns the url or request for the httpResource.
|
|
92
|
+
* If given a URL, the underlying httpResource will perform an HTTP GET on it.
|
|
93
|
+
*
|
|
94
|
+
* @param ctx The field context for the field being validated.
|
|
95
|
+
* @returns The URL or request for creating the httpResource.
|
|
96
|
+
*/
|
|
97
|
+
readonly request: ((ctx: FieldContext<TValue, TPathKind>) => string | undefined) | ((ctx: FieldContext<TValue, TPathKind>) => HttpResourceRequest | undefined);
|
|
98
|
+
/**
|
|
99
|
+
* A function that takes the httpResource result, and the current field context and maps it to a
|
|
100
|
+
* list of validation errors.
|
|
101
|
+
*
|
|
102
|
+
* @param result The httpResource result.
|
|
103
|
+
* @param ctx The context for the field the validator is attached to.
|
|
104
|
+
* @return A validation error, or list of validation errors to report based on the httpResource result.
|
|
105
|
+
* The returned errors can optionally specify a field that the error should be targeted to.
|
|
106
|
+
* A targeted error will show up as an error on its target field rather than the field being validated.
|
|
107
|
+
* If a field is not given, the error is assumed to apply to the field being validated.
|
|
108
|
+
*/
|
|
109
|
+
readonly onSuccess: MapToErrorsFn<TValue, TResult, TPathKind>;
|
|
110
|
+
/**
|
|
111
|
+
* A function to handle errors thrown by httpResource (HTTP errors, network errors, etc.).
|
|
112
|
+
* Receives the error and the field context, returns a list of validation errors.
|
|
113
|
+
*/
|
|
114
|
+
readonly onError: (error: unknown, ctx: FieldContext<TValue, TPathKind>) => TreeValidationResult;
|
|
115
|
+
/**
|
|
116
|
+
* The options to use when creating the httpResource.
|
|
117
|
+
*/
|
|
118
|
+
readonly options?: HttpResourceOptions<TResult, unknown>;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Adds async validation to the field corresponding to the given path based on a resource.
|
|
122
|
+
* Async validation for a field only runs once all synchronous validation is passing.
|
|
123
|
+
*
|
|
124
|
+
* @param path A path indicating the field to bind the async validation logic to.
|
|
125
|
+
* @param opts The async validation options.
|
|
126
|
+
* @template TValue The type of value stored in the field being validated.
|
|
127
|
+
* @template TParams The type of parameters to the resource.
|
|
128
|
+
* @template TResult The type of result returned by the resource
|
|
129
|
+
* @template TPathKind The kind of path being validated (a root path, child path, or item of an array)
|
|
130
|
+
*
|
|
131
|
+
* @category validation
|
|
132
|
+
* @experimental 21.0.0
|
|
133
|
+
*/
|
|
134
|
+
declare function validateAsync<TValue, TParams, TResult, TPathKind extends PathKind = PathKind.Root>(path: SchemaPath<TValue, SchemaPathRules.Supported, TPathKind>, opts: AsyncValidatorOptions<TValue, TParams, TResult, TPathKind>): void;
|
|
135
|
+
/**
|
|
136
|
+
* Adds async validation to the field corresponding to the given path based on an httpResource.
|
|
137
|
+
* Async validation for a field only runs once all synchronous validation is passing.
|
|
138
|
+
*
|
|
139
|
+
* @param path A path indicating the field to bind the async validation logic to.
|
|
140
|
+
* @param opts The http validation options.
|
|
141
|
+
* @template TValue The type of value stored in the field being validated.
|
|
142
|
+
* @template TResult The type of result returned by the httpResource
|
|
143
|
+
* @template TPathKind The kind of path being validated (a root path, child path, or item of an array)
|
|
144
|
+
*
|
|
145
|
+
* @category validation
|
|
146
|
+
* @experimental 21.0.0
|
|
147
|
+
*/
|
|
148
|
+
declare function validateHttp<TValue, TResult = unknown, TPathKind extends PathKind = PathKind.Root>(path: SchemaPath<TValue, SchemaPathRules.Supported, TPathKind>, opts: HttpValidatorOptions<TValue, TResult, TPathKind>): void;
|
|
149
|
+
|
|
14
150
|
/**
|
|
15
151
|
* The base set of properties shared by all form control contracts.
|
|
16
152
|
*
|
|
@@ -150,6 +286,20 @@ interface FormCheckboxControl extends FormUiControl {
|
|
|
150
286
|
readonly value?: undefined;
|
|
151
287
|
}
|
|
152
288
|
|
|
289
|
+
/**
|
|
290
|
+
* Configures the frequency at which a form field is updated by UI events.
|
|
291
|
+
*
|
|
292
|
+
* When this rule is applied, updates from the UI to the form model will be delayed until either
|
|
293
|
+
* the field is touched, or the most recently debounced update resolves.
|
|
294
|
+
*
|
|
295
|
+
* @param path The target path to debounce.
|
|
296
|
+
* @param durationOrDebouncer Either a debounce duration in milliseconds, or a custom
|
|
297
|
+
* {@link Debouncer} function.
|
|
298
|
+
*
|
|
299
|
+
* @experimental 21.0.0
|
|
300
|
+
*/
|
|
301
|
+
declare function debounce<TValue, TPathKind extends PathKind = PathKind.Root>(path: SchemaPath<TValue, SchemaPathRules.Supported, TPathKind>, durationOrDebouncer: number | Debouncer<TValue, TPathKind>): void;
|
|
302
|
+
|
|
153
303
|
/**
|
|
154
304
|
* Adds logic to a field to conditionally disable it. A disabled field does not contribute to the
|
|
155
305
|
* validation, touched/dirty, or other state of its parent field.
|
|
@@ -164,7 +314,19 @@ interface FormCheckboxControl extends FormUiControl {
|
|
|
164
314
|
* @experimental 21.0.0
|
|
165
315
|
*/
|
|
166
316
|
declare function disabled<TValue, TPathKind extends PathKind = PathKind.Root>(path: SchemaPath<TValue, SchemaPathRules.Supported, TPathKind>, logic?: string | NoInfer<LogicFn<TValue, boolean | string, TPathKind>>): void;
|
|
167
|
-
|
|
317
|
+
/**
|
|
318
|
+
* Adds logic to a field to conditionally make it readonly. A readonly field does not contribute to
|
|
319
|
+
* the validation, touched/dirty, or other state of its parent field.
|
|
320
|
+
*
|
|
321
|
+
* @param path The target path to make readonly.
|
|
322
|
+
* @param logic A reactive function that returns `true` when the field is readonly.
|
|
323
|
+
* @template TValue The type of value stored in the field the logic is bound to.
|
|
324
|
+
* @template TPathKind The kind of path the logic is bound to (a root path, child path, or item of an array)
|
|
325
|
+
*
|
|
326
|
+
* @category logic
|
|
327
|
+
* @experimental 21.0.0
|
|
328
|
+
*/
|
|
329
|
+
declare function readonly<TValue, TPathKind extends PathKind = PathKind.Root>(path: SchemaPath<TValue, SchemaPathRules.Supported, TPathKind>, logic?: NoInfer<LogicFn<TValue, boolean, TPathKind>>): void;
|
|
168
330
|
/**
|
|
169
331
|
* Adds logic to a field to conditionally hide it. A hidden field does not contribute to the
|
|
170
332
|
* validation, touched/dirty, or other state of its parent field.
|
|
@@ -186,20 +348,70 @@ declare function disabled<TValue, TPathKind extends PathKind = PathKind.Root>(pa
|
|
|
186
348
|
* @experimental 21.0.0
|
|
187
349
|
*/
|
|
188
350
|
declare function hidden<TValue, TPathKind extends PathKind = PathKind.Root>(path: SchemaPath<TValue, SchemaPathRules.Supported, TPathKind>, logic: NoInfer<LogicFn<TValue, boolean, TPathKind>>): void;
|
|
189
|
-
|
|
190
351
|
/**
|
|
191
|
-
* Adds logic to a field to
|
|
192
|
-
* the validation, touched/dirty, or other state of its parent field.
|
|
352
|
+
* Adds logic to a field to determine if the field has validation errors.
|
|
193
353
|
*
|
|
194
|
-
* @param path The target path to
|
|
195
|
-
* @param logic A
|
|
354
|
+
* @param path The target path to add the validation logic to.
|
|
355
|
+
* @param logic A `Validator` that returns the current validation errors.
|
|
196
356
|
* @template TValue The type of value stored in the field the logic is bound to.
|
|
197
357
|
* @template TPathKind The kind of path the logic is bound to (a root path, child path, or item of an array)
|
|
198
358
|
*
|
|
199
359
|
* @category logic
|
|
200
360
|
* @experimental 21.0.0
|
|
201
361
|
*/
|
|
202
|
-
declare function
|
|
362
|
+
declare function validate<TValue, TPathKind extends PathKind = PathKind.Root>(path: SchemaPath<TValue, SchemaPathRules.Supported, TPathKind>, logic: NoInfer<FieldValidator<TValue, TPathKind>>): void;
|
|
363
|
+
/**
|
|
364
|
+
* Adds logic to a field to determine if the field or any of its child fields has validation errors.
|
|
365
|
+
*
|
|
366
|
+
* @param path The target path to add the validation logic to.
|
|
367
|
+
* @param logic A `TreeValidator` that returns the current validation errors.
|
|
368
|
+
* Errors returned by the validator may specify a target field to indicate an error on a child field.
|
|
369
|
+
* @template TValue The type of value stored in the field the logic is bound to.
|
|
370
|
+
* @template TPathKind The kind of path the logic is bound to (a root path, child path, or item of an array)
|
|
371
|
+
*
|
|
372
|
+
* @category logic
|
|
373
|
+
* @experimental 21.0.0
|
|
374
|
+
*/
|
|
375
|
+
declare function validateTree<TValue, TPathKind extends PathKind = PathKind.Root>(path: SchemaPath<TValue, SchemaPathRules.Supported, TPathKind>, logic: NoInfer<TreeValidator<TValue, TPathKind>>): void;
|
|
376
|
+
/**
|
|
377
|
+
* Adds a value to an {@link AggregateMetadataKey} of a field.
|
|
378
|
+
*
|
|
379
|
+
* @param path The target path to set the aggregate metadata on.
|
|
380
|
+
* @param key The aggregate metadata key
|
|
381
|
+
* @param logic A function that receives the `FieldContext` and returns a value to add to the aggregate metadata.
|
|
382
|
+
* @template TValue The type of value stored in the field the logic is bound to.
|
|
383
|
+
* @template TMetadataItem The type of value the metadata aggregates over.
|
|
384
|
+
* @template TPathKind The kind of path the logic is bound to (a root path, child path, or item of an array)
|
|
385
|
+
*
|
|
386
|
+
* @category logic
|
|
387
|
+
* @experimental 21.0.0
|
|
388
|
+
*/
|
|
389
|
+
declare function aggregateMetadata<TValue, TMetadataItem, TPathKind extends PathKind = PathKind.Root>(path: SchemaPath<TValue, SchemaPathRules.Supported, TPathKind>, key: AggregateMetadataKey<any, TMetadataItem>, logic: NoInfer<LogicFn<TValue, TMetadataItem, TPathKind>>): void;
|
|
390
|
+
/**
|
|
391
|
+
* Creates a new {@link MetadataKey} and defines the value of the new metadata key for the given field.
|
|
392
|
+
*
|
|
393
|
+
* @param path The path to define the metadata for.
|
|
394
|
+
* @param factory A factory function that creates the value for the metadata.
|
|
395
|
+
* This function is **not** reactive. It is run once when the field is created.
|
|
396
|
+
* @returns The newly created metadata key
|
|
397
|
+
*
|
|
398
|
+
* @category logic
|
|
399
|
+
* @experimental 21.0.0
|
|
400
|
+
*/
|
|
401
|
+
declare function metadata<TValue, TData, TPathKind extends PathKind = PathKind.Root>(path: SchemaPath<TValue, SchemaPathRules.Supported, TPathKind>, factory: (ctx: FieldContext<TValue, TPathKind>) => TData): MetadataKey<TData>;
|
|
402
|
+
/**
|
|
403
|
+
* Defines the value of a {@link MetadataKey} for a given field.
|
|
404
|
+
*
|
|
405
|
+
* @param path The path to define the metadata for.
|
|
406
|
+
* @param key The metadata key to define.
|
|
407
|
+
* @param factory A factory function that creates the value for the metadata.
|
|
408
|
+
* This function is **not** reactive. It is run once when the field is created.
|
|
409
|
+
* @returns The given metadata key
|
|
410
|
+
*
|
|
411
|
+
* @category logic
|
|
412
|
+
* @experimental 21.0.0
|
|
413
|
+
*/
|
|
414
|
+
declare function metadata<TValue, TData, TPathKind extends PathKind = PathKind.Root>(path: SchemaPath<TValue, SchemaPathRules.Supported, TPathKind>, key: MetadataKey<TData>, factory: (ctx: FieldContext<TValue, TPathKind>) => TData): MetadataKey<TData>;
|
|
203
415
|
|
|
204
416
|
/** Represents a value that has a length or size, such as an array or string, or set. */
|
|
205
417
|
type ValueWithLengthOrSize = {
|
|
@@ -382,183 +594,5 @@ type IgnoreUnknownProperties<T> = T extends Record<PropertyKey, unknown> ? {
|
|
|
382
594
|
*/
|
|
383
595
|
declare function validateStandardSchema<TSchema, TModel extends IgnoreUnknownProperties<TSchema>>(path: SchemaPath<TModel> & SchemaPathTree<TModel>, schema: StandardSchemaV1<TSchema>): void;
|
|
384
596
|
|
|
385
|
-
|
|
386
|
-
* Adds logic to a field to determine if the field has validation errors.
|
|
387
|
-
*
|
|
388
|
-
* @param path The target path to add the validation logic to.
|
|
389
|
-
* @param logic A `Validator` that returns the current validation errors.
|
|
390
|
-
* @template TValue The type of value stored in the field the logic is bound to.
|
|
391
|
-
* @template TPathKind The kind of path the logic is bound to (a root path, child path, or item of an array)
|
|
392
|
-
*
|
|
393
|
-
* @category logic
|
|
394
|
-
* @experimental 21.0.0
|
|
395
|
-
*/
|
|
396
|
-
declare function validate<TValue, TPathKind extends PathKind = PathKind.Root>(path: SchemaPath<TValue, SchemaPathRules.Supported, TPathKind>, logic: NoInfer<FieldValidator<TValue, TPathKind>>): void;
|
|
397
|
-
|
|
398
|
-
/**
|
|
399
|
-
* A function that takes the result of an async operation and the current field context, and maps it
|
|
400
|
-
* to a list of validation errors.
|
|
401
|
-
*
|
|
402
|
-
* @param result The result of the async operation.
|
|
403
|
-
* @param ctx The context for the field the validator is attached to.
|
|
404
|
-
* @return A validation error, or list of validation errors to report based on the result of the async operation.
|
|
405
|
-
* The returned errors can optionally specify a field that the error should be targeted to.
|
|
406
|
-
* A targeted error will show up as an error on its target field rather than the field being validated.
|
|
407
|
-
* If a field is not given, the error is assumed to apply to the field being validated.
|
|
408
|
-
* @template TValue The type of value stored in the field being validated.
|
|
409
|
-
* @template TResult The type of result returned by the async operation
|
|
410
|
-
* @template TPathKind The kind of path being validated (a root path, child path, or item of an array)
|
|
411
|
-
*
|
|
412
|
-
* @experimental 21.0.0
|
|
413
|
-
*/
|
|
414
|
-
type MapToErrorsFn<TValue, TResult, TPathKind extends PathKind = PathKind.Root> = (result: TResult, ctx: FieldContext<TValue, TPathKind>) => TreeValidationResult;
|
|
415
|
-
/**
|
|
416
|
-
* Options that indicate how to create a resource for async validation for a field,
|
|
417
|
-
* and map its result to validation errors.
|
|
418
|
-
*
|
|
419
|
-
* @template TValue The type of value stored in the field being validated.
|
|
420
|
-
* @template TParams The type of parameters to the resource.
|
|
421
|
-
* @template TResult The type of result returned by the resource
|
|
422
|
-
* @template TPathKind The kind of path being validated (a root path, child path, or item of an array)
|
|
423
|
-
*
|
|
424
|
-
* @category validation
|
|
425
|
-
* @experimental 21.0.0
|
|
426
|
-
*/
|
|
427
|
-
interface AsyncValidatorOptions<TValue, TParams, TResult, TPathKind extends PathKind = PathKind.Root> {
|
|
428
|
-
/**
|
|
429
|
-
* A function that receives the field context and returns the params for the resource.
|
|
430
|
-
*
|
|
431
|
-
* @param ctx The field context for the field being validated.
|
|
432
|
-
* @returns The params for the resource.
|
|
433
|
-
*/
|
|
434
|
-
readonly params: (ctx: FieldContext<TValue, TPathKind>) => TParams;
|
|
435
|
-
/**
|
|
436
|
-
* A function that receives the resource params and returns a resource of the given params.
|
|
437
|
-
* The given params should be used as is to create the resource.
|
|
438
|
-
* The forms system will report the params as `undefined` when this validation doesn't need to be run.
|
|
439
|
-
*
|
|
440
|
-
* @param params The params to use for constructing the resource
|
|
441
|
-
* @returns A reference to the constructed resource.
|
|
442
|
-
*/
|
|
443
|
-
readonly factory: (params: Signal<TParams | undefined>) => ResourceRef<TResult | undefined>;
|
|
444
|
-
/**
|
|
445
|
-
* A function to handle errors thrown by httpResource (HTTP errors, network errors, etc.).
|
|
446
|
-
* Receives the error and the field context, returns a list of validation errors.
|
|
447
|
-
*/
|
|
448
|
-
readonly onError: (error: unknown, ctx: FieldContext<TValue, TPathKind>) => TreeValidationResult;
|
|
449
|
-
/**
|
|
450
|
-
* A function that takes the resource result, and the current field context and maps it to a list
|
|
451
|
-
* of validation errors.
|
|
452
|
-
*
|
|
453
|
-
* @param result The resource result.
|
|
454
|
-
* @param ctx The context for the field the validator is attached to.
|
|
455
|
-
* @return A validation error, or list of validation errors to report based on the resource result.
|
|
456
|
-
* The returned errors can optionally specify a field that the error should be targeted to.
|
|
457
|
-
* A targeted error will show up as an error on its target field rather than the field being validated.
|
|
458
|
-
* If a field is not given, the error is assumed to apply to the field being validated.
|
|
459
|
-
*/
|
|
460
|
-
readonly onSuccess: MapToErrorsFn<TValue, TResult, TPathKind>;
|
|
461
|
-
}
|
|
462
|
-
/**
|
|
463
|
-
* Adds async validation to the field corresponding to the given path based on a resource.
|
|
464
|
-
* Async validation for a field only runs once all synchronous validation is passing.
|
|
465
|
-
*
|
|
466
|
-
* @param path A path indicating the field to bind the async validation logic to.
|
|
467
|
-
* @param opts The async validation options.
|
|
468
|
-
* @template TValue The type of value stored in the field being validated.
|
|
469
|
-
* @template TParams The type of parameters to the resource.
|
|
470
|
-
* @template TResult The type of result returned by the resource
|
|
471
|
-
* @template TPathKind The kind of path being validated (a root path, child path, or item of an array)
|
|
472
|
-
*
|
|
473
|
-
* @category validation
|
|
474
|
-
* @experimental 21.0.0
|
|
475
|
-
*/
|
|
476
|
-
declare function validateAsync<TValue, TParams, TResult, TPathKind extends PathKind = PathKind.Root>(path: SchemaPath<TValue, SchemaPathRules.Supported, TPathKind>, opts: AsyncValidatorOptions<TValue, TParams, TResult, TPathKind>): void;
|
|
477
|
-
|
|
478
|
-
/**
|
|
479
|
-
* Options that indicate how to create an httpResource for async validation for a field,
|
|
480
|
-
* and map its result to validation errors.
|
|
481
|
-
*
|
|
482
|
-
* @template TValue The type of value stored in the field being validated.
|
|
483
|
-
* @template TResult The type of result returned by the httpResource
|
|
484
|
-
* @template TPathKind The kind of path being validated (a root path, child path, or item of an array)
|
|
485
|
-
*
|
|
486
|
-
* @category validation
|
|
487
|
-
* @experimental 21.0.0
|
|
488
|
-
*/
|
|
489
|
-
interface HttpValidatorOptions<TValue, TResult, TPathKind extends PathKind = PathKind.Root> {
|
|
490
|
-
/**
|
|
491
|
-
* A function that receives the field context and returns the url or request for the httpResource.
|
|
492
|
-
* If given a URL, the underlying httpResource will perform an HTTP GET on it.
|
|
493
|
-
*
|
|
494
|
-
* @param ctx The field context for the field being validated.
|
|
495
|
-
* @returns The URL or request for creating the httpResource.
|
|
496
|
-
*/
|
|
497
|
-
readonly request: ((ctx: FieldContext<TValue, TPathKind>) => string | undefined) | ((ctx: FieldContext<TValue, TPathKind>) => HttpResourceRequest | undefined);
|
|
498
|
-
/**
|
|
499
|
-
* A function that takes the httpResource result, and the current field context and maps it to a
|
|
500
|
-
* list of validation errors.
|
|
501
|
-
*
|
|
502
|
-
* @param result The httpResource result.
|
|
503
|
-
* @param ctx The context for the field the validator is attached to.
|
|
504
|
-
* @return A validation error, or list of validation errors to report based on the httpResource result.
|
|
505
|
-
* The returned errors can optionally specify a field that the error should be targeted to.
|
|
506
|
-
* A targeted error will show up as an error on its target field rather than the field being validated.
|
|
507
|
-
* If a field is not given, the error is assumed to apply to the field being validated.
|
|
508
|
-
*/
|
|
509
|
-
readonly onSuccess: MapToErrorsFn<TValue, TResult, TPathKind>;
|
|
510
|
-
/**
|
|
511
|
-
* A function to handle errors thrown by httpResource (HTTP errors, network errors, etc.).
|
|
512
|
-
* Receives the error and the field context, returns a list of validation errors.
|
|
513
|
-
*/
|
|
514
|
-
readonly onError: (error: unknown, ctx: FieldContext<TValue, TPathKind>) => TreeValidationResult;
|
|
515
|
-
/**
|
|
516
|
-
* The options to use when creating the httpResource.
|
|
517
|
-
*/
|
|
518
|
-
readonly options?: HttpResourceOptions<TResult, unknown>;
|
|
519
|
-
}
|
|
520
|
-
/**
|
|
521
|
-
* Adds async validation to the field corresponding to the given path based on an httpResource.
|
|
522
|
-
* Async validation for a field only runs once all synchronous validation is passing.
|
|
523
|
-
*
|
|
524
|
-
* @param path A path indicating the field to bind the async validation logic to.
|
|
525
|
-
* @param opts The http validation options.
|
|
526
|
-
* @template TValue The type of value stored in the field being validated.
|
|
527
|
-
* @template TResult The type of result returned by the httpResource
|
|
528
|
-
* @template TPathKind The kind of path being validated (a root path, child path, or item of an array)
|
|
529
|
-
*
|
|
530
|
-
* @category validation
|
|
531
|
-
* @experimental 21.0.0
|
|
532
|
-
*/
|
|
533
|
-
declare function validateHttp<TValue, TResult = unknown, TPathKind extends PathKind = PathKind.Root>(path: SchemaPath<TValue, SchemaPathRules.Supported, TPathKind>, opts: HttpValidatorOptions<TValue, TResult, TPathKind>): void;
|
|
534
|
-
|
|
535
|
-
/**
|
|
536
|
-
* Adds logic to a field to determine if the field or any of its child fields has validation errors.
|
|
537
|
-
*
|
|
538
|
-
* @param path The target path to add the validation logic to.
|
|
539
|
-
* @param logic A `TreeValidator` that returns the current validation errors.
|
|
540
|
-
* Errors returned by the validator may specify a target field to indicate an error on a child field.
|
|
541
|
-
* @template TValue The type of value stored in the field the logic is bound to.
|
|
542
|
-
* @template TPathKind The kind of path the logic is bound to (a root path, child path, or item of an array)
|
|
543
|
-
*
|
|
544
|
-
* @category logic
|
|
545
|
-
* @experimental 21.0.0
|
|
546
|
-
*/
|
|
547
|
-
declare function validateTree<TValue, TPathKind extends PathKind = PathKind.Root>(path: SchemaPath<TValue, SchemaPathRules.Supported, TPathKind>, logic: NoInfer<TreeValidator<TValue, TPathKind>>): void;
|
|
548
|
-
|
|
549
|
-
/**
|
|
550
|
-
* Configures the frequency at which a form field is updated by UI events.
|
|
551
|
-
*
|
|
552
|
-
* When this rule is applied, updates from the UI to the form model will be delayed until either
|
|
553
|
-
* the field is touched, or the most recently debounced update resolves.
|
|
554
|
-
*
|
|
555
|
-
* @param path The target path to debounce.
|
|
556
|
-
* @param durationOrDebouncer Either a debounce duration in milliseconds, or a custom
|
|
557
|
-
* {@link Debouncer} function.
|
|
558
|
-
*
|
|
559
|
-
* @experimental 21.0.0
|
|
560
|
-
*/
|
|
561
|
-
declare function debounce<TValue, TPathKind extends PathKind = PathKind.Root>(path: SchemaPath<TValue, SchemaPathRules.Supported, TPathKind>, durationOrDebouncer: number | Debouncer<TValue, TPathKind>): void;
|
|
562
|
-
|
|
563
|
-
export { Debouncer, DisabledReason, FieldContext, FieldValidator, LogicFn, OneOrMany, PathKind, SchemaPath, SchemaPathRules, SchemaPathTree, TreeValidationResult, TreeValidator, ValidationError, WithOptionalField, debounce, disabled, email, hidden, max, maxLength, min, minLength, pattern, readonly, required, validate, validateAsync, validateHttp, validateStandardSchema, validateTree };
|
|
597
|
+
export { AggregateMetadataKey, Debouncer, DisabledReason, FieldContext, FieldValidator, LogicFn, MetadataKey, OneOrMany, PathKind, SchemaPath, SchemaPathRules, SchemaPathTree, TreeValidationResult, TreeValidator, ValidationError, WithOptionalField, aggregateMetadata, debounce, disabled, email, hidden, max, maxLength, metadata, min, minLength, pattern, readonly, required, validate, validateAsync, validateHttp, validateStandardSchema, validateTree };
|
|
564
598
|
export type { AsyncValidatorOptions, FormCheckboxControl, FormUiControl, FormValueControl, HttpValidatorOptions, IgnoreUnknownProperties, MapToErrorsFn, RemoveStringIndexUnknownKey };
|