radiogroup (v6) 上的同步验证
Sync validation on a radiogroup (v6)
在使用 v6 版本的 redux-form 时,如何显示我的广播组的同步验证错误?一种选择是创建多个 renderField 函数,其中只有一个(最后一个)会显示错误。我目前的设置是这样的:
const renderField = ({ input, meta: { touched, error } }) => (
<span>
<input
{...input}
/>
{
touched &&
error &&
<div>
{error}
</div>
}
</span>
);
// Form-component
// I loop trough multiple values
<Field
type="radio"
component={renderField}
id={`${field.name}-${value}`}
value={value}
name={field.name}
/>
<Field
type="radio"
id={`${field.name}-${value}`}
value={value}
name={field.name}
/>
通过这种方式,错误会出现多次(对于每个值)。当它是最后一个值时,我可以传递一个额外的道具,以启用该字段的错误。虽然可以,但是感觉有点恶心
这是一个有趣的问题。另一种选择是编写一个只负责渲染错误的组件。
const renderError = ({ meta: { touched, error } }) =>
touched && error && <div>{error}</div>
然后,在呈现单选按钮之后,您可以执行以下操作:
<Field name={field.name} component={renderError}/>
在使用 v6 版本的 redux-form 时,如何显示我的广播组的同步验证错误?一种选择是创建多个 renderField 函数,其中只有一个(最后一个)会显示错误。我目前的设置是这样的:
const renderField = ({ input, meta: { touched, error } }) => (
<span>
<input
{...input}
/>
{
touched &&
error &&
<div>
{error}
</div>
}
</span>
);
// Form-component
// I loop trough multiple values
<Field
type="radio"
component={renderField}
id={`${field.name}-${value}`}
value={value}
name={field.name}
/>
<Field
type="radio"
id={`${field.name}-${value}`}
value={value}
name={field.name}
/>
通过这种方式,错误会出现多次(对于每个值)。当它是最后一个值时,我可以传递一个额外的道具,以启用该字段的错误。虽然可以,但是感觉有点恶心
这是一个有趣的问题。另一种选择是编写一个只负责渲染错误的组件。
const renderError = ({ meta: { touched, error } }) =>
touched && error && <div>{error}</div>
然后,在呈现单选按钮之后,您可以执行以下操作:
<Field name={field.name} component={renderError}/>