小编Kyl*_*e S的帖子

如何阻止 [Required] 注释在被覆盖的字段上被继承?

我有一个电话号码通知模型(用户通过与他们的帐户关联的电话号码获得紧急情况通知,并且他们可以设置调用这些电话的顺序)。大多数情况下,模型的电话号码部分是必需的,但在创建新用户的过程中存在一种特殊情况,我们不想强制使用它。

我创建了一个非常简单的子对象 UserCreationPhoneNotificationModel,它继承自上述 UserPhoneNotificationModel。还有一些其他小的更改,但这里的相关更改是覆盖 PhoneNumber 字段,以便不再需要它。

在父模型中它是

[Required]
public virtual string PhoneNumber { get; set; }
Run Code Online (Sandbox Code Playgroud)

在子模型中它只是

public override string PhoneNumber { get; set; }
Run Code Online (Sandbox Code Playgroud)

我认为这可以解决问题,但显然不是。我认为问题在于 RequiredAttribute 上会有 Inherited = true ,但事实并非如此,所以我不完全确定为什么它会被继承到子类中。

我做了双重检查以确保,从父类中的字段中删除 Required 也使得子类中的字段不需要,所以这绝对是某种继承的东西。

c# asp.net-mvc data-annotations

7
推荐指数
2
解决办法
4485
查看次数

为什么 webpack 没有从我的动态导入中生成块?

我最终围绕路由进行了一些重构以允许代码拆分,但按照 react/webpack 说明,我仍然只生成了 2 个入口包。

Index.tsx

import React from "react"
import { render } from "react-dom"
import { Provider } from "react-redux"
import { store } from "services/configureStore"
import { ConnectedApp } from "src/App"
import { ConnectedFeatureToggleProvider } from "./components/AppWrapper/FeatureToggleProvider"

const renderApp = () => {
  render(
    <Provider store={store}>
      <ConnectedFeatureToggleProvider>
        <ConnectedApp />
      </ConnectedFeatureToggleProvider>
    </Provider>,
    document.querySelector("#app"),
  )
}

// run app when FIT Core functions are ready
window.onFitCoreReady = () => {
  renderApp()
}

Run Code Online (Sandbox Code Playgroud)

App.tsx

import React, { useEffect, Suspense } …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs webpack code-splitting

5
推荐指数
1
解决办法
1379
查看次数