相关疑难解决方法(0)

如何更改ASP.NET MVC中的int模型验证的ErrorMessage?

我有一个模型,其属性定义如下:

    [Required(ErrorMessage="Please enter how many Stream Entries are displayed per page.")]
    [Range(0,250, ErrorMessage="Please enter a number between 0 and 250.")]
    [Column]
    public int StreamEntriesPerPage { get; set; }
Run Code Online (Sandbox Code Playgroud)

除非用户输入类似"100q"的内容,否则此方法有效.然后会显示一个相当丑陋的错误,上面写着"值'100q'对StreamEntriesPerPage无效."

当输入不是int时,是否有可用于覆盖默认错误消息的属性?

c# validation asp.net-mvc

29
推荐指数
4
解决办法
6万
查看次数

Asp.Net MVC 2 - 更改PropertyValueRequired字符串

使用App_GlobalResources目录中的resx文件,我已经能够更改模型验证器的PropertyValueInvalid字符串的默认消息.

但是当需要值时,它无法转换消息(PropertyValueRequired.)

在Global.asax.cs Application_Start()中,我更改了资源类键,如下所示:

DefaultModelBinder.ResourceClassKey = "Messages";
Run Code Online (Sandbox Code Playgroud)

在Messages.resx文件中,我放了两个条目:

  • "PropertyValueInvalid"=>"O valor'{0}'éinválidoparao campo {1}."
  • "PropertyValueRequired"=>"Éadmandáriigiditaro {0}."

谢谢.

asp.net-mvc asp.net-mvc-3 asp.net-mvc-2

13
推荐指数
2
解决办法
1万
查看次数

Asp.Net MVC:一些未本地化的默认错误消息?

我有一个完全本地化的网站,主要是法语/英语/德语.

现在,一切都很顺利,但我确实注意到asp.net MVC的一些错误消息的问题.

我的模型中有一个属性:

[Required]
[LocalizedDisplayName("PublicationDate", NameResourceType = typeof(LocalizationResources.Views.Composer.BaseInfoForm))]
public DateTime PublicationDate { get; set; }
Run Code Online (Sandbox Code Playgroud)

LocalizedDisplayname是DisplayNameAttribute的扩展,它位于Resx文件中以获取正确的翻译

线程CurrentCulture和CurrentCultureUI在fr-FR中,因此消息应该以法语显示(就像我的[Required]属性一样,自动显示"Le champ Publication est requis").

但是在DateTime的情况下,如果我输入的东西不是日期,验证器只返回一个" The value 'asdfasdf' is not valid for Publication."所以:

  • 为什么MVC有时会以法语返回错误信息,有时用英语回复,同样的形式(我确切地说,这是默认的错误信息)
  • 如何通过指示诸如"La valeur {0} n'est pas une date valide pour le champ {1}"之类的文本来通用地替换此消息

非常感谢你

validation asp.net-mvc localization data-annotations

11
推荐指数
1
解决办法
9757
查看次数

如何在Asp.net MVC 2中替换默认的ModelState错误消息?

我需要替换模型状态资源(到另一种语言).

我已经看到了上述问题的一些答案,但不幸的是我无法让它发挥作用.任何详细的答案或例子都会受到批评.

谢谢.

asp.net-mvc resources file modelstate

6
推荐指数
2
解决办法
2万
查看次数

如何在ASP NET MVC中自定义不显眼的验证JQuery消息?

我有一个表单,当它进行不引人注意的验证时,我希望它显示:

此消息:"请输入值. "

而不是这条消息:"此字段是必需的."

我尝试在我的jquery.validate.unobtrusive.js文件的末尾添加它

(function ($) {
   $.extend($.validator.messages, {
     required: "Please enter a value."
   }); 
}(jQuery));
Run Code Online (Sandbox Code Playgroud)

但它只是不起作用.

我也尝试直接修改jquery.validate.js文件中的"messages"变量,但它也无法正常工作.

你能告诉我怎样才能完成这件事?

validation asp.net-mvc jquery unobtrusive-validation

5
推荐指数
2
解决办法
8266
查看次数