Похоже, что вы удалили и воссоздали модель (или что-то подобное), но оставили исходный файл дизайнера в каталоге. Затем, когда вы добавили новую модель, ей пришлось использовать Model1 вместо Model в качестве имени файла конструктора. Вы пробовали исключить файл Model.Designer.cs и оставить его вместо файла Model1.Designer.cs?
Хорошо, глядя на файл проекта для нашего проекта с моделью, я могут видеть следующие потенциально релевантные разделы:
<Compile Include="Domain\Model.Designer.vb">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Model.edmx</DependentUpon>
</Compile>
Я считаю, что это говорит проекту, что файл кода является частью проекта и должен быть подносом файла model.edmx и быть регенерированным когда он меняется.
У нас также есть этот раздел:
<EntityDeploy Include="Domain\Model.edmx">
<Generator>EntityModelCodeGenerator</Generator>
<LastGenOutput>Model.Designer.vb</LastGenOutput>
<CustomToolNamespace>Domain</CustomToolNamespace>
</EntityDeploy>
Не уверен, какой из этих элементов управляет сгенерированным именем файла, но вы можете попробовать вручную отредактировать свой файл проекта, чтобы узнать, , Я бы сказал, что вам нужно будет менять оба одновременно, а не только один.
Вы можете условно добавить в свою схему проверки, как и любой другой объект:
let validationShape = {
company: Yup.object().shape({
name: Yup.string().required('Field is required'),
address: Yup.string().required('Field is required'),
email: Yup.string()
.email('Wrong e-mail format')
.required('Field is required')
})
};
if (this.state.isPerson) {
validationShape.person = Yup.object().shape({
name: Yup.string().required('Field is required'),
surname: Yup.string().required('Field is required'),
middleName: Yup.string().required('Field is required'),
email: Yup.string()
.email('Wrong e-mail format')
.required('Field is required');
}
const validationSchema = Yup.object().shape(validationShape);