使用redux-form 7.3.0。 我遇到这样的情况,我的asyncValidate函数将数据发送到验证表单的Web服务,而无需了解表单布局,触摸过哪些字段等。该Web服务包含条件验证规则,例如,如果字段A是必填字段B包含一个值。
这意味着Web服务的响应可能包含尚未触摸的字段的验证错误。在asyncValidate函数中,我加载了包含验证错误的对象,但是,如果字段尚未被触摸,我不想要添加验证错误。
这是我的asyncValidate函数
const asyncValidate = (values, dispatch, props) => {
const request = axios.post(`${ROOT_URL}/validate`, {...values, id: props.form} );
return request
.then(response => {
const errors = response.data.record.fErrors;
let emap = {}
for (const key of Object.keys(errors)) {
emap[key] = errors[key].message;
}
return emap;
})
.catch((error) => console.log("Validation Response", error.response.data));
}
是否有任何方法可以访问保持字段是否被触摸的状态,即form。 formname .fields状态对象?发送到asyncValidate的道具不提供此访问权限。
如果对如何实现这一目标没有任何想法?