3

この jsFiddle を機能させることはできませんが、ブラウザーでは機能します: http://jsfiddle.net/vtortola/jYq2X/

2 つのフィールドを比較する新しいカスタム ルールを追加しようとしています。カスタム アダプタが機能し、呼び出されてオプションが設定されます。ただし、カスタム メソッドは呼び出されません。

私はDOMの準備ができてこのJSを実行しています:

$.validator.addMethod("customequal-method", function (val, el, p) {
    var $other = $(el).closest('form').find('input[name=' + p.other + ']'); 
    return $other.length && $other.val() == val;
});

$.validator.unobtrusive.adapters.add("customequal", ["other"],
                                     function (options) {
                                         options.rules["customequal-method"] = options.params;
                                         options.messages["customequal-method"] = options.message;
                                     });



$(function(){
    $.validator.unobtrusive.parse($('#myform'));
    $('[type=button]').click(function(e){e.preventDefault(); $('form').valid();});

    $('input[type=text]').blur();
})

これらは HTML のフィールドです。

    <input type="text" name="StartDate2" id="StartDate2" value="2"
           data-val="true" data-val-customequal="xx xxx" data-val-customequal-other="EndDate2"/>   
    <input type="text" name="EndDate2" id="EndDate2" value="3"
           data-val="true" data-val-customequal="xx xx" data-val-customequal-other="StartDate2"/> 

私はさまざまなことを試してきましたが、何もうまくいかないようです。

何か案が?

4

1 に答える 1