【问题标题】:How to display users text in the Validation Summary in MVC.NET如何在 MVC.NET 的验证摘要中显示用户文本
【发布时间】:2014-11-06 20:36:13
【问题描述】:

如果我有一个正则表达式模型验证器集,如果他们在应该输入整数时输入字母,则会显示错误。是否有内置的方式来显示用户在验证摘要中输入的文本?

例如,如果用户键入“ab”,我的验证消息是否可以说出来;

您不能为此字段输入“ab”。

感谢您的帮助。

【问题讨论】:

  • 没有内置方式。您只能在验证属性中使用静态内容(对于 [RegularExpression] 属性,您只能访问属性名称和正则表达式字符串)。您可以按照 Bosman 所示为服务器端验证构建自己的消息,但您不能为不显眼的客户端验证执行此操作(除非您可能要处理控件的 keyup 事件以删除验证器,添加一个带有错误的新适配器基于控件值的消息,并再次解析表单)

标签: asp.net-mvc validation razor


【解决方案1】:

不幸的是,您必须在控制器中进行自定义验证才能显示自定义消息。您可以实现custom validation attribute,但简单的方法如下:

public ActionResult Index(MyModel model)
{
    int parse;

    if(!Int32.TryParse(model.value, out parse)
        ViewBag.Error = String.Format("You cannot enter \"{0}\" for this field", model.value);

    return View(model);
}

或者,您可以将自定义错误添加到 ModelState 错误集合。更多信息here

【讨论】:

    猜你喜欢
    • 2013-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多