问题标签 [modelmetadata]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
515 浏览

asp.net-mvc - ASP.NET MVC ModelMetadata - 当我们在模型上放置属性来描述 UI 时,我们是否违反了关注点分离?

根据这篇文, “ModelMetadata 对象是使用从属性中获取的数据构建的,主要来自 System.ComponentModel 和 System.ComponentModel.DataAnnotations 命名空间。”

通过将 UI 辅助属性放在模型对象(DisplayFormatUIHint)上,我们不是耦合模型和视图吗?

0 投票
1 回答
2095 浏览

asp.net-mvc-3 - Html.LabelFor 不使用来自 DisplayAttribute 的名称

我有一个这样的模型

我的元数据类是这样的

当我在视图中使用此模型时,我无法让它使用我的 DisplayAttribute 中的名称?

0 投票
3 回答
1261 浏览

php - RedBean PHP:有没有办法保护数据库列不被更改?(例如:插入日期)

已经使用了你能想象到的尽可能多的 ORM。目前,我对 RedBean PHP 爱不释手。我们开始吧......经过几个小时的研究,我怀疑解决这个非常基本的问题的更好方法是什么(在这种情况下,最好的方法意味着更适合 RedBean 的易用性理念的方法):

限制对类的某些属性的访问是很常见的,这样我们就可以防止某些类型的错误数据操作。这通常是通过充分利用 getter 和 setter 来实现的。但就 RedBean 的了解而言,原生类中没有正式的 setter,只有一些可以更改和持久化在数据库中的公共属性。

我想做的是保护一些属性不被手动更改,这样我就可以避免其他程序员做出任何奇怪的事情,比如:

显然,在插入行后该字段不应该更改,但我们不能相信没有人会这样做。有没有办法实现诸如将插入日期变成受保护的属性或以某种方式使其无法访问?

我有一种感觉,最好的方法是使用$beam->setMetadata()并声明不应更改给定属性,但我不知道如何在 RedBean 中实现这一点,并且在官方手册中仍然找不到足够的信息。任何帮助表示赞赏。

谢谢阅读。

0 投票
1 回答
663 浏览

asp.net-mvc-3 - 根据条件将模型元数据中的字段更改为在运行时只读

我正在为编辑页面和某些页面创建一个通用界面,例如我需要禁用或删除某些字段的起始页面。表单使用 Html.EditorFor 呈现。这样做的最佳方法是什么?

0 投票
1 回答
96 浏览

asp.net-mvc - 是否有任何开箱即用的代码可以使用 ModelMetaData 将模型序列化为键值对?

我知道 ModelMetadata 用于将模型中的值绑定到字段。是否有任何开箱即用的 MVC 代码将采用模型并使用它的 ModelMetadata 为其所有属性的值生成 KeyValuePairs?

0 投票
2 回答
1321 浏览

asp.net-mvc-3 - MVC HtmlHelper vs FluentValidation 3.1:获取 ModelMetadata IsRequired 的麻烦

我为标签创建了一个 HtmlHelper,如果需要关联字段,则在该标签的名称后放置一个星号:

如果我使用 DataAnnotations 并在我的 ViewModel 中的属性上拍 [Required],我的私有 LabelHelper 中的 metadata.IsRequired 将等于 True,并且一切都会按预期工作。

但是,如果我使用 FluentValidation 3.1 并添加这样的简单规则:

...在我的 LabelHelper 元数据中。IsRequired 将被错误地设置为 false。(验证器虽然有效:您不能提交空字段,它需要是电子邮件之类的)。
其余元数据看起来正确(例如:metadata.DisplayName = "Email")。
从理论上讲,如果使用 Rule .NotNull(),FluentValidator 会在属性上添加RequiredAttribute。

供参考:我的 ViewModel:

我的控制器:

任何帮助表示赞赏。

0 投票
1 回答
5010 浏览

asp.net-mvc - 访问模型属性之一的 ModelMetadata

我正在阅读 Brad Wilson 的一篇文章:

ASP.NET MVC 2 模板,第 2 部分:模型元数据

http://bradwilson.typepad.com/blog/2009/10/aspnet-mvc-2-templates-part-2-modelmetadata.html

假设在我的 ASP.NET MVC 3 App 上,我有以下模型:

这是我的观点:

我在路径中有一个Contact.cshtml文件。~/Views/Shared/EditorTemplates/

我的问题是如何接触到ModelMetadata每个模型属性。例如,如下所示:

联系人.cshtml

注意: GetItsMetaData 方法是我完全编造的。我只是想获取该属性的 MedelMetadata。不一定要那样。

编辑

我发现了另一个类似的问题:

asp.net mvc中编辑器模板中复杂类型的模型元数据

答案是这样的:

但是对我的模型的每个属性都这样做是非常冗长的,不是吗?

0 投票
1 回答
633 浏览

entity-framework - 如何在桌面应用程序中使用 DataAnnotations

当我们使用EF(fe) viaMVC时,我们可以使用ModelState.IsValid来检测是否model可以传递DataAnnotations元数据。但是如何DataAnnotations在桌面(win-forms / wpf)应用程序中使用元数据?

更多的:

事实上,我想创建一个与ModelState(可以保存与每个相关联的属性和消息的字典)相同的对象。DAL然后,用一个包装validation-layerVL使用的元数据来验证模型,它VL可以在任何项目中使用。我知道我应该使用反射器,但我没有任何经验。感谢任何帮助和建议。

0 投票
1 回答
411 浏览

asp.net-mvc-3 - 更改 ModelMetadataProviders.Current 区域的能力

我有一个特殊情况,我需要能够在应用程序中使用多个 ModelMetadaProviders。某些区域将使用特定的提供商,另一个区域将使用其他的。我主要需要这个,因为这些提供者中的每一个都使用不同的资源文件来提供资源字符串。

我让它为一个工作,我把它连接到 global.asax.cs 中:

现在在管理区域我想这样做:

以上不起作用,但也不会引发错误。它只是不进行资源字符串查找。

这是否可以实现,如果可以,如何实现?

0 投票
2 回答
1514 浏览

c#-4.0 - 元数据中的 WCF 模型类未更新

我有一个 WCF 服务,它为 DAL 使用单独的项目,我有一个引用,并且可以通过服务访问具有 DAL 的实体对象,如下所示:

这将返回一个 GeoLocations 对象。

问题是我已经更新了 DAL,因为我的数据库发生了变化,并且我看到了代码中的所有新字段,但是当我在 GeoLocations 上执行“查看源代码”时,我看到了以下文件:

...它不包含任何新字段,并被锁定在 IDE 中。

我已经尝试清理项目,删除所有 DLL 等,但我仍然看到旧类。

如何使用新属性更新它?

谢谢。