redux-form版本:v6.2.0
我有一张信用卡信息表。 (号码,到期,cvc)。我没有足够的空间在每个字段上发生错误,因此我只需要1个表单级错误字段而不是许多字段级输入字段错误。
这对于表单级验证(添加_error: firstFieldLevelError
)很容易,但除非触摸了该字段,否则我不想显示它(当然touched
只是可用于该领域)。
所以,我采取了手动抓取状态:
const mapStateToProps = (state, props) => {
const formState = state.form[props.form];
if (formState) {
const {syncErrors} = formState;
if (syncErrors) {
const firstErrorField = Object.keys(syncErrors)[0];
const {touched} = formState.fields[firstErrorField] || {};
if (touched) {
return {
syncFormError: syncErrors[firstErrorField]
}
}
}
}
return {};
};
对于我想象的非常常见的东西,我觉得非常冗长。还有更好的方法吗?