显示格式 ApplyFormatInEditMode

2024-01-11

我在 C# 中使用 MVC 3,我有一个具有此属性的类

[DisplayFormat(DataFormatString = "{0:dd MMM yyyy}", ApplyFormatInEditMode = true)]

我想在用户处于状态时强制执行验证EDIT MODE

数据库中的数据按类型存储datetime像这样格式化

  6/15/2009 1:45:30 PM

我收到此错误

错误字符串的格式不正确

我相信问题出在

DataFormatString = "{0:dd MMM yyyy}"

知道如何修复它吗?


The DisplayFormat属性实际上仅用于显示值。如果您设置ApplyFormatInEditMode它所做的就是将格式应用于显示在文本框中的数据内容(用于编辑)。这与验证无关。

如果您想使用您指定的格式验证输入,您可能必须创建自己的格式ValidationAttribute,并使用DateTime.ParseExact()尝试确保它符合您期望的格式。唯一的缺点是它不会有附带的客户端验证逻辑,除非您编写它。

我还没有对此进行彻底测试,但它应该可以给您一个开始。

public class DateTimeFormatAttribute : ValidationAttribute
{
   public int Format { get; set; }

   public override bool IsValid(object value)
   {
        if (value == null)
            return true;

        DateTime val;
        try
        {
            val = DateTime.ParseExact(value.ToString(), Format, null);
        }
        catch(FormatException)
        {
            return false;
        }

        //Not entirely sure it'd ever reach this, but I need a return statement in all codepaths
        return val != DateTime.MinValue;
   }
}

然后就只是使用它的问题了。[DateTimeFormat(Format = "dd MMM yyyy")]

UPDATE:抱歉,我认为我没有清楚地阅读你的问题。它抱怨回发数据的原因是因为您尝试使用的格式不是标准格式。您可能最好在线实现一种常见的日期选择器,以便在填充字段时使用,而不是手动编辑它或期望像这样的非标准格式。自定义显示格式非常适合显示,但如果您想使用自定义格式进行编辑模式,则默认DateTime.Parse不明白你必须编写自己的 ModelBinder 我相信,这是我没有做过的事情,或者你可以将视图模型上的数据类型更改为字符串并在操作方法中自己解析它(你仍然可以使用我在本例中提供的验证器)。要消除错误(但也会在编辑模式下删除自定义格式),您必须删除ApplyFormatInEditMode财产。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

显示格式 ApplyFormatInEditMode 的相关文章

  • 运行WPF应用程序时出错

    该应用程序在制作它的计算机上运行良好 但是当我将其复制到另一台相同的操作系统时 它崩溃并显示以下错误 Problem signature Problem Event Name CLR20r3 Problem Signature 01 vpn
  • 如何使用 ioread64() 和 iowrite64() 访问 IO 内存?

    背景 我目前正在编写一个设备驱动程序教育设备 https github com qemu qemu blob master hw misc edu c在 qemu RISC V 中 由此question https stackoverflo
  • 如何访问UPnP设备的服务?

    设备 贝尔金 WeMo Switch开发环境 Windows 7 上的 MS VC 2010 我正在尝试使用 Windows 中的 C 枚举 UPnP 设备的服务 我有IUPnPDevice指针并可以访问多个属性 我有IUPnPServic
  • 如何从 .resx 文件条目获取注释

    资源文件中的字符串有名称 值和注释 The ResXResourceReader类让我可以访问名称和值 有办法看评论吗 你应该能够得到Comment via ResXDataNode class http msdn microsoft co
  • LongListSelector 更改 ItemTemplate

    我想动态改变ItemTemplate of a LongListSelector 我通过将其绑定到 ViewModel 中的属性来做到这一点
  • 类型或命名空间名称“X”在命名空间“Y”中不存在 - 在 VS 生成的代码中

    这是我遇到过的最奇怪的错误 这个 MVC Web 项目直到今天都运行良好 几周以来还没有任何人对其进行处理 尽管没有任何改变 但现在简单地运行它会导致 命名空间 CMSModels ViewModels 中不存在类型或命名空间名称 Colo
  • 在.NET windows窗体中向TableLayoutPanel添加动态控件

    我想在单击按钮时动态地将控件添加到面板 但我想整理一下位置 例如 我想要两个并排的文本框宽度相等 占用面板的相等空间 见下图 正如您在上图中看到的 单击按钮时 将添加控件 但我在使用 TableLayoutPanel 时遇到问题 请参阅下面
  • 如何使用 Sitecore Glass Mapper 渲染带有 css 类的链接

    我有以下链接 a class btn btn primary href View details a 如何使用 sitecore glass 渲染链接并使其仍然保留 css 类 使用 sitecore 中的字段渲染器 您过去可以将类作为附加
  • C# 检测关闭应用程序

    我正在尝试创建任务栏替换 并且我想要每个正在运行的应用程序都有一个按钮 public void AddBtn string name Button newButton new Button this Controls Add newButt
  • C# 在不使用反射的情况下运行时出现“找不到方法”异常

    我在获得上述异常时遇到问题 我有一个相对简单的结构 分为两个 dll 第一个包含 IEntityService IEntity 和基本实现 第二个包含实际的实现和接口 因此 有一个 IMachine 服务实现了 IEntityService
  • 如何使用 OpenCV 从图像中获取调色板 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想提取图像的调色板 类似于此 来自 我需要它来提取特定的颜色 如黄色 绿色和棕色 并显示该颜色覆盖的区域的百分比 另外 我可以添加更
  • 代码契约确保 ReSharperExternalAnnotations

    有谁知道如何在 ReSharperExternalAnnotations 中添加 Code Contracts Ensures 它在最新的 v7 1 3 和最新的 v8 EAP 中都不存在 在任何自定义 xml 中也不存在 具体来说 它应该
  • IIS7.5 WCF 服务 - HTTP 错误 401.3(即使在添加 IIS_IUSRS 后)

    我们有使用 NT Authority Network Service 的网站 Response Write WindowsIdentity GetCurrent Name 该网站使用托管在 IIS 7 5 中的 WCF 服务 当我们浏览服务
  • 显式移动构造函数

    尝试编译以下代码 struct Foo explicit Foo void explicit Foo Foo rhs Foo bar void return Foo 出现以下错误 调用 Foo 的隐式删除复制构造函数 嗯 很明显复制者被隐式
  • 为什么&在变量之前使用?

    Why is 之前在这里使用过decks scanf i decks 如果我的输入是像 k 这样的任何字母 那么它会显示像 1929597720 这样的输出 为什么 include
  • 空序列的算术平均值是多少?

    免责声明 不 我没有找到任何明显的答案 这与我的预期相反 在寻找代码示例时 算术平均值 我可以通过谷歌找到的前几个例子似乎是这样定义的 空序列生成的平均值为0 0 eg here https rosettacode org wiki Ave
  • SingleResult.Create 在空 IQueryable 上的 Odata 序列化错误

    我正在使用 OData v4 并尝试让一个非常简单的控制器工作 控制器 public class ProductController ODataController readonly MasterDataEntities db new Ma
  • 哪个 AWS Simple Email Service API 是最新的

    我正在使用 AWS SES 构建一个应用程序 但我不清楚应该针对哪个版本的 API 进行开发 AWSSDK SimpleEmail https www nuget org packages AWSSDK SimpleEmail AWSSDK
  • C# 中 SQL 的转义字符

    我想在我的 C 代码中添加一个简单的 select 语句 示例如下所示 fname 中的 y 等值来自参数 从myTable中选择lname 其中fname y 这就是我正在做的事情 我显然得到了 Sql 异常 我该如何纠正它 谢谢 str
  • 在 C# 中将字符串转换为等效的字节十六进制

    我有一个传入的字符串68016101061B4A60193390662046804020422044204000420040402060226024676DB16我想转换成0x68 0x01 0x61 0x01 0x06 0x1B 0x4A

随机推荐

  • 在键盘上方显示整个底部工作表并使用 EditText

    我正在实现一个 UI 其中底部工作表将出现在键盘上方 并带有一个 EditText 供用户输入值 问题是视图与键盘部分重叠 覆盖了底部工作表的底部 这是底页 没有键盘 这是显示键盘的底页 确保显示整个底页的最佳方法是什么 Thanks 只是
  • 如何将 JQuery Datepicker 与 Django 模板语言结合使用

    看着这个链接 https stackoverflow com questions 9594081 how to use jquery ui datepicker as a django widget并找到了一些帮助 但我想知道如何选择对 m
  • 如何学习 Jackson 来转换抽象类的继承者?

    我有一堂课 EqualsAndHashCode callSuper true Data public class AppealTemplateDto extends AbstractDto private List
  • 为什么我在尝试批量打印变量时收到“Echo is on”

    我尝试执行一个简单的批处理文件脚本 echo 1 set var 1 echo var 当我在 XP 中运行它时 它给出了预期的输出 但是当我在 Vista 或 Windows 7 中运行它时 我在尝试打印 回显 值时收到 Echo is
  • 在 MATLAB 中仅查找相关点

    我有一个 MATLAB 函数可以查找样本中的特征点 不幸的是 它仅在大约 90 的时间内有效 但是 当我知道应该查看样本中的哪些位置时 我可以将其提高到几乎 100 所以我想知道MATLAB中是否有一个函数可以让我找到大部分结果所在的范围
  • GetPrivateProfileInt-仅读取默认值

    我正在尝试读取 C 中包含内容的 init 配置文件 IP地址 IP地址 169 254 115 22 扫描配置 扫描频率 2500 扫描分辨率 2500 起始角度 700000 停止角度 1100000 到目前为止 我已经使用这段代码来读
  • 有效检查数据帧是否具有范围内的日期,并返回计数

    假设我们有一个数据框df包含按日期按时间顺序排列的日期列表 目标是获取给定日期内包含给定日期的日期范围的人数 df pd DataFrame data date datetime date 2007 12 1 datetime date 2
  • 在启用 IAM 登录的情况下通过 cloud-sql-proxy 从 Cloud Run 连接到 Cloud SQL

    我想使用服务帐号从 Cloud Run 连接到 Cloud SQL 实例 连接过去是在 VPC 内创建的 我们只需提供一个带有user and a password到我们的 PostgreSQL 客户端 但现在我们希望身份验证由 Googl
  • 在 lubuntu 15.04 上构建 Kurento

    我正在尝试在我的 lubuntu 15 04 上构建整个 Kurento 与 ubuntu 15 04 相同 但 UI 不同 我首先克隆所有存储库 mkdir kurento cd kurento git clone https githu
  • 通过redux改变状态后如何更新React组件?

    我正在学习 React 和 Redux 在学习的同时 我决定制作一个带有按钮的网页 单击该按钮就会改变状态 在按钮下方 我想在不同的组件中显示当前状态 虽然单击按钮会更改状态 但它不会反映在组件中 这是我的代码 App js import
  • 如何查看整个表

    我正在尝试使用 quandl 获取表 数据集 该表有 5 行 X 12 列 但在输出中仅显示 4 列 其余列被 3 个点替换 我使用Python编写了以下代码 import quandl df quandl get WIKI GOOGL p
  • printf("%f",x) 好的,printf("%F",x) 错误格式参数过多

    当我在 CodeBlocks 中使用说明符 F 时 为什么编译器会给出错误 格式参数过多 include
  • app.config 转换

    我非常喜欢添加web config 转换 http msdn microsoft com en us library dd465318 aspx在 Visual Studio 2010 中 另请参阅Scott Hanselman 最近在 M
  • 牛找到长栅栏间隙的算法

    我正在看这个挑战 一头名叫萨姆的近视奶牛在目前的牧场上找不到足够的草 它记得牧场的围栏有一个缺口 不幸的是 栅栏很长 要绕一整圈 Sam 需要沿着栅栏走几步 山姆只能看到间隙就在它旁边 记住牛是近视的 在本题中 您将设计不同的算法 使 Sa
  • 无法配置 CMake 来查找 Bison 的 Homebrew 安装版本

    我正在运行 macOS 10 14 并且安装了bison版本 3 2 与brew 但它拒绝链接 brew link bison force Warning Refusing to link macOS provided software b
  • struts2 将 URL 传递给 Action

    我读了struts手册通配符映射 http struts apache org 2 1 8 1 docs wildcard mappings html并决定自己测试一些例子 我有一个行动指向
  • 创建 Liferay portlet 配置页面

    我正在尝试为 Liferay portlet 创建一个配置页面 以便我可以为其设置一些参数 例如 我想选择控制器在查看时应显示哪个页面 配置应位于此处 所以我为配置创建了一个控制器 如下所示 import com liferay porta
  • 学习WPF和MVVM

    我最近加入了一个新的开发项目 使用 WPF 和 MVVM 构建胖客户端应用程序 我在各种 NET 框架 从 1 1 到 3 5 以及所有主要技术中开发过应用程序 WebForms MVC 和 WinForms 在我所有的项目中 我都很享受其
  • 如何仅在 3 边应用盒子阴影? [复制]

    这个问题在这里已经有答案了 我在下面使用我的 CSS 页面 他在 4 边应用了方框阴影 我希望它只应用于右侧 底部和左侧 如何仅在 3 边应用框阴影 webkit box shadow 0 0 10px rgba 0 0 0 0 22 mo
  • 显示格式 ApplyFormatInEditMode

    我在 C 中使用 MVC 3 我有一个具有此属性的类 DisplayFormat DataFormatString 0 dd MMM yyyy ApplyFormatInEditMode true 我想在用户处于状态时强制执行验证EDIT