【问题标题】:Remove "The field must be a number" default validation text on decimal property删除十进制属性上的“字段必须是数字”默认验证文本
【发布时间】:2023-03-20 12:40:02
【问题描述】:

我有 .cshtml 文件,代码如下:

@Html.TextBoxFor(m => m.Level)
@Html.ValidationMessageFor(m => m.Level)

模型中的属性:

[RegularExpression(@"^\d+.\d{0,2}$", ErrorMessage="Only two places after comma")]
public decimal? Level {get; set;}

如果我把逗号放在表单中,它会显示信息“字段级别必须是数字”。当我在逗号后写下数字时,这些沟通令人失望。如何删除此默认验证消息?

【问题讨论】:

  • 这不是预期的行为吗,我的意思是2, 无效但2,1 有效。为什么要删除must be a number 验证?
  • @ocanal 我只想显示来自正则表达式的消息。不是别的。如果我写“2”,然后从正则表达式显示通信就可以了。

标签: javascript jquery asp.net-mvc razor-pages


【解决方案1】:

这实际上是预期的行为,但如果您仍然不想要默认号码验证消息,有两个选项。

您可以在客户端删除number 验证,

$("#Level").rules("remove", 'number');

或者您可以在服务器端将属性类型更改为String

[RegularExpression(@"^\d+.\d{0,2}$", ErrorMessage="Only two places after comma")]
public string Level {get; set;}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-15
    • 1970-01-01
    • 2016-09-22
    • 2020-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多