加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – ASP.NET MVC:ValidationAttribute和本地化的Err

发布时间:2020-12-16 04:07:44 所属栏目:asp.Net 来源:网络整理
导读:我有ValidationAttribute像: public class Username : ValidationAttribute { public override bool IsValid(object value) { if (value == null) return false; return RegExp.Validate(RegExpLib.Username,value.ToString()); } } ..并像这样使用它: pub
我有ValidationAttribute像:
public class Username : ValidationAttribute
 {
  public override bool IsValid(object value)
  {
   if (value == null)
    return false;

   return RegExp.Validate(RegExpLib.Username,value.ToString());
  }
 }

..并像这样使用它:

public class AccountSignIn
 {
  [Username(ErrorMessageResourceName ="txtUsername",ErrorMessageResourceType=typeof(SignIn))]
  public string Username { get; set; }

  public string Password { get; set; }

  public bool RememberMe { get; set; }

  public string ReturnUrl { get; set; }
 }

SignIn是App_GlobalResources的资源文件,“txtUsername” – 是资源文件中的字符串名称.

问题:
错误消息未显示.

题:
如果网站上的语言很少,如何设置错误消息.

另一个信息:

我可以从Views或项目中的任何文件访问SignIn.txtUsername.来自控制器

ModelState.AddModelError("Username",Resources.SignIn.txtUsername);

工作得很好..我可以在ValidationAttribute内部分配ErrorMessage,但在第二次验证后得到错误尝试…如果我这样检查 –

if(ErrorMessage != Resources.SignIn.txtUsername)
       ErrorMessage = Resources.SignIn.txtUsername;

切换到另一种语言后出错 – ErrorMessage只能分配一次.

请告诉我如何解决它.

先感谢您.

解决方法

我在使用本地化错误消息和DataAnnotations方面遇到了一些问题,与您的情况非常相似.虽然我最终没有将空白显示为错误消息,但我总是抛出一些异常.我的解决方案是:

>在App_GlobalResources / Errors.resx中打开资源文件,将其属性更改为Build Action:Embedded Resource,Custom Tool:PublicResXFileCodeGenerator,Custom Tool Namespace:Resources(visual studio在自动生成这些内容时做了一些奇怪的事情,所以再次检查一下是否正常)
>将资源文件的访问修饰符更改为Public
>从生成的代码文件(Errors.Designer.cs)中检查命名空间和访问修饰符是否正确.
>试试吧

我在Model类中的例子:

[Required(ErrorMessageResourceType = typeof(Resources.Errors),ErrorMessageResourceName="ResponseMessageRequired")]
public string message { get; set; }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读