以下是否被认为是 redux-form 字段的有效使用?
const ValidatedFieldGroup = (props) => {
const {meta: {touched, error}} = props
return (
<div className={touched && error ? 'has-error' : ''}>
<Field name="one" .... />
<Field name="two" .... />
</div>
)
}
const MyMainComponent = (props) => {
return <Field name="twofields"
component={ValidatedFieldGroup}
validate={myValidator} .... />
}
const myValidator = (value, allValues) => {
return (
allValues.one === "pretend-this-is-valid" && allValues.two === "pretend-this-is-valid"
) ? undefined : 'One of the fields is invalid - sort it out!'
}
一个“无价值”的父字段仅用于挂钩到同步字段级别的验证管道。然后可以使用此组件的道具来更改其子项的 UI / 状态(这些子项又包含一些实现实际表单值的 RF 字段)
现实世界的例子=假设有一组五个复选框......如果至少有两个没有被选中,那么它们应该都被包裹在一个“红色边框”的 div 中。
到目前为止似乎有效,但我意识到可能有一种更简单/更好/正确的方法来实现相同的结果,或者我实际上可能会为未来的麻烦做好准备!
提前致谢。