0

MVC 4 でカスタム クライアント検証を作成しており、Firebug でブレーク ポイントを設定しています。この行には問題があります:

jQuery.validator.addMethod("greaterthanattrebutedate", function (value, element, param) {
    return Date.parse(value) > Date.parse($(param).val());
});

最初の行の後、戻りの行には行きません。最初の行で d は定義されていません。

public string OtherPrpertyName { get; set; }
public IEnumerable<ModelClientValidationRule> GetClientValidationRules(ModelMetadata metadata, ControllerContext context)
 { 
var rule = new ModelClientValidationRule(); 
rule.ErrorMessage = FormatErrorMessage(metadata.GetDisplayName()); 
rule.ValidationType = "greaterthanattrebutedate"; rule.ValidationParameters.Add("other",OtherPrpertyName); 
yield return rule; 
} 

jqueryコード

    /// <reference path="jquery-1.6.2-vsdoc.js" />
/// <reference path="jquery.validate-vsdoc.js" />
/// <reference path="jquery.validate.unobtrusive.js" />
/// <reference path="jquery.validate.unobtrusive.min.js" />
$(document).ready(function () {   
jQuery.validator.addMethod("greaterthanattrebutedate", function (value, element, param) {
//        debugger;
        return Date.parse(value) > Date.parse($(param).val());
});
});
    jQuery.validator.unobtrusive.adapters.add("greaterthanattrebutedate", ["other"], function (options) {
        options.rules["greaterthanattrebutedate"] = "#" + options.params.other;
        options.messages["greaterthanattrebutedate"] = options.message;
    });
4

0 に答える 0