根据 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
的值