每当我们传递输入进行验证时,AJV 都会输出经过验证的输入。但它会改变原始输入。有没有办法防止这种情况?
问问题
126 次
已在问题#549中提出。
Ajv 仅在存在要求 Ajv 对其进行变异的选项时才对数据进行变异:removeAdditional、useDefaults、coerceTypes。如果没有这些选项,数据不会更改。
没有通用的方法可以在 JavaScript 中复制对象,因此如果您既要应用更改又要保留原始数据,则需要在代码中复制对象,在您的情况下,这可能很简单,JSON.parse(JSON.stringify())
但在一般情况下可能要复杂得多,甚至不可能。