我有我的页面不显眼的客户端验证设置。错误消息从我们的数据库返回。对于需要添加参数的验证消息之一,我可以使用特定值对其进行格式化。这工作良好的服务器端,但我显然没有获得一些这些值时GetClientValidationRules方法是第一次安装。正因为如此,它看起来像我将不得不在我的客户端代码中建立错误消息,但我不知道如何执行此操作,因为您只需在jQuery.validator.addMethod中返回true或false。MVC3和自定义客户端验证消息
所以我基本上需要能够做的是在GetClientValidationRules方法中将ErrorMessage设置为string.Empty,然后在我的clinet端代码中进行验证,以便能够返回任何我想要的消息。
下面是客户端代码在MVC 3
public IEnumerable<ModelClientValidationRule> GetClientValidationRules(ModelMetadata metadata, ControllerContext context)
{
var rule = new ModelClientValidationRule
{
ValidationType = "maximumdatecoverrequired",
ErrorMessage = string.Empty,
};
rule.ValidationParameters.Add("maxdate", DateTime.Now.AddDays(Settings.Default.MaximumDateCoverRequiredDaysInFuture).ToString("yyyy/MM/dd"));
return new[] { rule };
}
这里是我的客户端代码来验证这个特殊的财产被接线。
jQuery.validator.addMethod("maximumdatecoverrequired", function (value, element, params) {
var maxDate = new Date(params["maxdate"]);
var day = maxDate.getDate();
var month = maxDate.getMonth() + 1;
var year = maxDate.getFullYear();
var dateCoverRequired = new Date(value).toString('yyyy/MM/dd');
maxDate = maxDate.toString('yyyy/MM/dd');
if (value > maxDate) {
$("input#DateCoverRequired_Day").val(day);
$("select#DateCoverRequired_Month").val(month);
$("input#DateCoverRequired_Year").val(year);
return false;
}
return true;
});
如何在客户端代码中返回自定义消息?
你想验证什么?缺少太多的细节 – gdoron 2011-12-15 12:27:38