我创建了一个自定义验证属性:
public class FutureDateAttribute : ValidationAttribute
{
public override bool IsValid(object value)
{
if (value == null|| (DateTime)value < DateTime.Now)
return false;
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
如何使用jquery在客户端使用它?
App_GlobalResources使用PropertyValueRequired密钥添加资源文件并更改DefaultModelBinder.ResourceClassKey为文件名对MVC 4没有影响.字符串The {0} field is required永远不会更改.我不想在每个必填字段上设置资源类类型和键.我错过了什么吗?
编辑:
我对Darin Dimitrov的代码进行了一些小修改,以保持必需的自定义工作:
public class MyRequiredAttributeAdapter : RequiredAttributeAdapter
{
public MyRequiredAttributeAdapter(
ModelMetadata metadata,
ControllerContext context,
RequiredAttribute attribute
)
: base(metadata, context, attribute)
{
if (attribute.ErrorMessageResourceType == null)
{
attribute.ErrorMessageResourceType = typeof(Messages);
}
if (attribute.ErrorMessageResourceName == null)
{
attribute.ErrorMessageResourceName = "PropertyValueRequired";
}
}
}
Run Code Online (Sandbox Code Playgroud) 我正在开发一个asp.net MVC-4项目.我正在使用资源文件(.resx)进行国际化.我是第一次使用它,所以这个问题可能很愚蠢,很抱歉.
我已经创建了一个资源文件进行验证.我在我的项目中也创建了一些自定义验证.我的一个自定义验证是检查数组项长度,最大值和最小值.因此,如果验证失败,我必须显示验证消息:
数组长度必须小于5且大于1
现在我不想硬编码消息中的min(1)和max(5)值.那么有人可以告诉我如何在使用资源文件提供验证消息时实现这一目标?