根据 name 或者 model 订阅字段的更新
创建一个 FieldArray builder
数组元素的 builder 对象,可以是 field、array 或者 set 的返回值
```tsx
function when
const validator = compose(when(() => Math.random() > 0.5))(required('required if random number great then 5'));
创建一个异步校验函数
异步校验函数的实现
限制一个值是合法的 email 地址,规则和 Angular 使用的一致
错误信息
创建一个 Field builder
Field 的默认值
创建一个 Form builder,是最顶层的 builder 对象
Form 每个字段对应的 builder 对象,其值可以是 field、array 或者 set 的返回值
判断一个校验函数是否是异步的,异步的校验函数必须使用 createAsyncValidator 创建
校验函数
生成一个默认的onChange回调,这个回调会触发model.validate
如果不需要在onChange的时候触发校验,如下即可:
const onChange = useCallback(value => model.value = value, [model]);
例如是一个input:
const onChange = useCallback((value: React.ChangeEvent<HTMLInputElement>) => {
model.value = e.target.value;
}, [model]);
可以配合usePipe使用:
function mapEventToValue(e) {
return e.target.value;
}
function Foo() {
const onChange = FieldUtils.usePipe(
mapEventToValue,
FieldUtils.makeChangeHandler(model),
);
}
限制一个值的最大值
允许的最大值(包含自身)
错误信息
限制一个值的最大长度,通过 .length 属性判断
允许的最大长度(包含自身)
错误信息
为校验错误设定动态的message
限制一个值的最小值
允许的最小值(包含自身)
错误信息
限制一个值的最小长度,通过 .length 属性判断
允许的最小长度(包含自身)
错误信息
限制一个字符串必须匹配一个正则表达式
要匹配的正则表达式
错误信息
限制一个值不为 null/undefined,并且长度不为零
错误信息
限制一个值必须为 true
错误信息
创建一个 FieldSet builder
FieldSet 每个字段对应的 builder 对象,其值可以是 field、array 或者 set 的返回值
生成一组 onCompositionStart 和 onCompositionEnd 的回调函数,用于跟踪输入法 composition 的状态,
这个状态会写到 model.isCompositing 字段上。
用于记录状态的 model 对象
上层传入的被代理的回调
创建一个 Field
字段名,当 FormStrategy 是 View 的时候才能用字段名
默认值
当 field 是字段名的时候,可以传入validator
创建一个 Field
Field 对应的 model 对象,用于关联 Field 和 model;当 FormStrategy 是 Model 的时候才能用
创建一个 FieldArray
字段名,当 FormStrategy 是 View 的时候才能用字段名
当 field 是字段名的时候,可以传入 validator
默认值
创建一个 FieldArray
FieldArray 对应的 model 对象,用于关联 FieldArray 和 model;当 FormStrategy 是 Model 的时候才能用
根据 name 或者 model 订阅 FieldArray 的更新
创建一个 FieldSet
model 或者字段名,当FormStrategy是View的时候才能用字段名
当field是字段名的时候,可以传入validator
创建一个 Form
指定一个 builder 对象来显式构造表单数据,或者指定 FormStrategy.View 自动根据视图构造表单数据
const callback = usePipe(foo, bar, baz)
is equal to
const callback = useMemo(() => arg => {
return baz(bar(foo(arg)))
}, [foo, bar, baz])
执行 model 上的校验规则对 model 校验
要校验的 model 对象
条件校验,条件函数返回true时才会执行校验,否则直接视为校验通过
ValidatorMiddlewares.when的异步版本,接收异步的条件函数
Generated using TypeDoc
根据
name订阅FieldSet的值