我是asp.net mvc的新手,并且知道我正在努力寻找一个好的做法来进行输入验证.
在项目中,我们将使用实体框架,您可以通过以下方式向属性添加数据注释:
[Required(ErrorMessage = "Please enter a product name")]
[Column]
public string Name { get; set; }
Run Code Online (Sandbox Code Playgroud)
这是非常好的,但我们有一个多语言网站(像大多数网站一样),所以我们不仅可以用英语显示错误消息.有什么方法可以解决这个问题?我可以根据用户的语言更改此错误消息@runtime吗?我应该使用Jquery客户端验证吗?
感谢您的投入.
更新我已经尝试过Phil Haack网站上的代码这将使用静态资源来解决这个问题,但是,我们使用来自数据库而非静态资源的资源.
如果我为数据注释填写以下内容:
[MetadataType(typeof(IncidentsMetaData))]
public partial class INCIDENTS
{
private class IncidentsMetaData
{
[Required(ErrorMessageResourceType = typeof(CustomResourceProviders.DBResourceProviderFactory),
ErrorMessageResourceName="1277")]
public string SUBJECT { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
然后我收到以下错误:资源类型'CustomResourceProviders.DBResourceProviderFactory'没有名为'1277'的可访问静态属性.
当然没有这样的属性,它应该由函数访问.知道我能做些什么吗?TNX