使用redux-form
更新实体时,我想知道哪些字段已被更改,以便仅在这些字段上使用PATCH HTTP请求。 (并没有发送整个表格)
有没有内置方法可以做到这一点?我正在查看文档但它似乎没有任何选择。
答案 0 :(得分:1)
每个字段都有“脏”属性。似乎是你在寻找的东西:
如果当前值与初始值不同,则为true,否则为false。
http://redux-form.com/6.5.0/docs/api/Field.md/#-dirty-boolean-
您需要保留所有“脏”字段的列表,但这应该适用于var _validFileExtensions = [".jpg", ".jpeg", ".png"];
function Validate(oForm) {
var arrInputs = oForm.getElementsByTagName("input");
for (var i = 0; i < arrInputs.length; i++) {
var oInput = arrInputs[i];
if (oInput.type == "file") {
var sFileName = oInput.value;
if (sFileName.length > 0) {
var blnValid = false;
for (var j = 0; j < _validFileExtensions.length; j++) {
var sCurExtension = _validFileExtensions[j];
if (sFileName.substr(sFileName.length - sCurExtension.length, sCurExtension.length).toLowerCase() == sCurExtension.toLowerCase()) {
blnValid = true;
break;
}
}
if (!blnValid) {
alert("Sorry, " + sFileName + " is invalid, allowed extensions are: " + _validFileExtensions.join(", "));
return false;
}
}
}
}
return true;
}
答案 1 :(得分:1)
你是在提交时做的吗?您可以使用values
手动区分this.props.initialValues
以确定更改的值。