Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从数据库中获取错误消息的数据批注_C#_Asp.net Mvc_Data Annotations - Fatal编程技术网

C# 从数据库中获取错误消息的数据批注

C# 从数据库中获取错误消息的数据批注,c#,asp.net-mvc,data-annotations,C#,Asp.net Mvc,Data Annotations,使用asp.net mvc,您可以使用注释 [必需(errormessage=“这是必需的”)] 我如何创建这样的内容: [必需(errormessage=“ERRORXX”)] 所以我可以在数据库中查找这个ERRORXX是什么,并将它显示在我的表单上。现在我的表单显示ERRORXX 我怎样才能创造出解决我问题的东西 谢谢 我想您的意思是您想要读取/使用给定属性的属性声明 如果是这样,您可以创建自己的RequiredAttribute类(以允许根据需要添加新的或更合适的属性)。请参阅:我想您的意

使用asp.net mvc,您可以使用注释 [必需(errormessage=“这是必需的”)]

我如何创建这样的内容:

[必需(errormessage=“ERRORXX”)]

所以我可以在数据库中查找这个ERRORXX是什么,并将它显示在我的表单上。现在我的表单显示ERRORXX

我怎样才能创造出解决我问题的东西


谢谢

我想您的意思是您想要读取/使用给定属性的属性声明


如果是这样,您可以创建自己的RequiredAttribute类(以允许根据需要添加新的或更合适的属性)。请参阅:

我想您的意思是要读取/使用给定属性的属性声明


如果是这样,您可以创建自己的RequiredAttribute类(以允许根据需要添加新的或更合适的属性)。请参阅:

只是一个想法:为什么不从数据库中提取错误消息?我认为这是一种常见的做法。它甚至允许您轻松地定位错误消息

我认为通过使用资源文件(resx文件),以后更容易更改错误消息。例如,可以在Word Pad中打开和编辑resx文件。您不需要使用用户名/密码访问数据库、查询数据库等

请看这里:


只是一个想法:为什么不从服务器中提取错误消息?我认为这是一种常见的做法。它甚至允许您轻松地定位错误消息

我认为通过使用资源文件(resx文件),以后更容易更改错误消息。例如,可以在Word Pad中打开和编辑resx文件。您不需要使用用户名/密码访问数据库、查询数据库等

请看这里:


默认路线是使用资源。 然而,我理解你的痛苦:)我实现这一目标的方式有点不同寻常,但我会给你一个简短的概述。 在我们的项目中,使用资源文件并不是一个选项,因为它的方式对于我们的目的来说太有限了,我现在就不想让您感到厌烦了!:) 最基本的原则是,我们将validation属性的errorMessage属性设置为某种“键”,然后在验证失败时(在我们使用MVC的情况下,当我们更新模型并检查状态时,所有这些都在控制器级别),将其用作在CMS数据库中查找正确(语言化)响应的方法

这与使用资源(通过指定“ErrorMessageResourceName”和“ErrorMessageResourceType”)的原理相同,但您可以使用它做您想要做的事情


为了清楚起见,我们最初使用自己的东西扩展了RequiredAttribute(作为一个示例),包括输入正确命名的参数,以便稍后从数据库中检索合理的CMS值。更清楚的是,我们使用MVC和自定义HtmlHelpers来呈现我们自己的ValidationControl,这是最终使用自定义注释中的自定义值的控件,等等-但所有这些都不会影响这里的简化原则,即只使用“errorMessage”或类似的东西,作为一种查找实际消息的方法,您可以在需要的位置和时间查找消息。

默认的路径是使用资源。 然而,我理解你的痛苦:)我实现这一目标的方式有点不同寻常,但我会给你一个简短的概述。 在我们的项目中,使用资源文件并不是一个选项,因为它的方式对于我们的目的来说太有限了,我现在就不想让您感到厌烦了!:) 最基本的原则是,我们将validation属性的errorMessage属性设置为某种“键”,然后在验证失败时(在我们使用MVC的情况下,当我们更新模型并检查状态时,所有这些都在控制器级别),将其用作在CMS数据库中查找正确(语言化)响应的方法

这与使用资源(通过指定“ErrorMessageResourceName”和“ErrorMessageResourceType”)的原理相同,但您可以使用它做您想要做的事情


为了清楚起见,我们最初使用自己的东西扩展了RequiredAttribute(作为一个示例),包括输入正确命名的参数,以便稍后从数据库中检索合理的CMS值。更清楚的是,我们使用MVC和自定义HtmlHelpers来呈现我们自己的ValidationControl,这是最终使用自定义注释中的自定义值的控件,等等-但所有这些都不会影响这里的简化原则,即只使用“errorMessage”或类似的东西,作为一种从您想要的位置和时间查找实际消息的方法。

我可以从requiredAttribute类继承吗?呜呜,我想我没有抓住您问题的重点。。。很抱歉虽然不能,但通常您将无法扩展属性实现,因为按照惯例,它们被标记为密封的。属性上的属性在编译到库中时必须是固定常量。@Leniel的第一个链接显示了我如何通过资源文件实现您想要的。是否也可以使用数据库?我想要一些可以由管理员在数据库中更改的内容。我知道,这不是开箱即用的很容易-看起来好像你可以使用资源文件来处理字符串(因此那里也有多语言支持!),然后你可以给你的管理员一些工具来管理这些内容。。。根据我在这里的回答()Globalizer.NET在我上次查看它时还可以…我可以从requiredAttribute类继承吗?哇,我想我没有抓住你问题的重点。。。很抱歉虽然不能,但通常您将无法扩展属性实现,因为按照惯例,它们被标记为密封的。属性上的属性在编译到库中时必须是固定常量。@Leniel的第一个链接显示了我如何通过资源文件实现您想要的。是否也可以使用数据库?我会