仅强制转换架构中定义的内容,并去除多余的字段-是

问题描述

我有这个模式:

yup.object().shape({
    name_first: yup.string().required().label("Name First").Meta({ initial: "" }),name_last: yup.string().required().label("Name Last").Meta({ initial: "" }),mobile: yup
        .number()
        .typeError("must be a number")
        .integer()
        .positive()
        .test("is-mobile","${path} is not a valid mobile number",(value,context) => {
            var strValue = value.toString();
            if (strValue.length !== 8 || strValue.charat(0) !== "9" || strValue.charat(0) !== "7") {
                return false;
            } else {
                return true;
            }
        })
        .label("Mobile")
        .Meta({ initial: "" }),email: yup.string().email().notrequired().label("Email address").Meta({ initial: "" }),gender: yup.mixed().oneOf(["m","f"]).required().label("Gender").Meta({ initial: "" }),birth_date: yup.date().required().min(new Date(1900,1)).label("Birth Date").Meta({ initial: null }),preferred_language: yup.mixed().oneOf(["ar","en"]).required().label("Preferred Language").Meta({ initial: "" }),newsletter: yup.boolean().required().label("Subscribe to Newsletter").Meta({ initial: true }),disabled: yup.boolean().required().label("disabled").Meta({ initial: false }),});

我有这个数据对象:

{
addresses: (75) [{…},{…},{…}]
birth_date: Wed Sep 23 2020 00:00:00 GMT+0400 (Gulf Standard Time) {}
created_at: "2020-09-23T13:57:24.156706"
disabled: false
email: "user@example.com"
email_confirmed: false
gender: "m"
id: 1
mobile: 99009900
mobile_confirmed: true
name_first: "string"
name_last: "string"
newsletter: true
preferred_language: "ar"
updated_at: "2020-09-23T13:57:24.156713"
}

我想强制转换该对象,但是强制转换不会去除架构中未定义的addressesupdated_atcreated_at额外字段。 如何自动执行此操作而无需专门删除那些字段?

解决方法

我找到了解决方法:

schema.cast(dataObject,{ stripUnknown: true})

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...