एमडीएल के साथ jQuery.validate का सामान्य उपयोग-मामला क्या प्रतीत होता है। this gist देखें।एमडीएल + jQuery मान्य एकीकरण: एमडीएल-रेडियो__बटन सत्यापन के लिए कार्य-आसपास की आवश्यकता
यह ठीक काम करता है:
<h1>Without MDL</h1>
<form id="foo">
<input type="radio" name="bar" value="1" /> 1
<input type="radio" name="bar" value="2" /> 2
<input type="submit" />
</form>
<script>
$(function() {
$('#foo').validate({
rules: {
"bar": {
required: true
},
},
errorPlacement: function(error, element) {
console.log(element);
}
});
});
</script>
यह करता कुछ भी नहीं:
<h1>With MDL</h1>
<form id="zha">
<label for="baz__1" class="mdl-radio mdl-js-radio">
<input type="radio" name="baz" value="1" id="baz__1" class="mdl-radio__button" /> 1
</label>
<label for="baz__2" class="mdl-radio mdl-js-radio">
<input type="radio" name="baz" value="2" id="baz__2" class="mdl-radio__button" /> 2
</label>
<input type="submit" id="butt"/>
</form>
<script>
$(function() {
$('#zha').validate({
rules: {
"baz": {
required: true
},
},
errorPlacement: function(error, element) {
console.log(element);
}
});
});
</script>
अटैच किया जा रहा jQuery.validator.setDefaults({ debug: true })
कोई प्रभाव नहीं है - शून्य डिबग आउटपुट के रूप में - एमडीएल संस्करण में। mdl-js-radio
या mdl-radio__button
को हटाने से यह अपेक्षा के अनुसार काम करता है। मेरा अंतर्ज्ञान यह है कि एमडीएल इस तरह से डीओएम को अद्यतन कर रहा है जो jQuery की पहुंच को name=
विशेषताओं से डिस्कनेक्ट करता है, लेकिन मुझे एमडीएल स्रोत कोड में समर्थन देने के लिए कोई सबूत नहीं मिल रहा है।
किसी को भी एकीकरण मिला है जो यहां काम करता है?
उद्धरण: * "मेरा अंतर्ज्ञान यह है कि एमडीएल डीओएम को इस तरह से डिस्कनेक्ट कर रहा है ..." ~ ~ शायद यह मामला है; तो क्यों न किसी ब्राउज़र के डोम निरीक्षण उपकरण का उपयोग करें और पता लगाएं? – Sparky
मैंने किया, लेकिन या तो मेरा डोम-फू कमजोर है या मेरा अंतर्ज्ञान गलत है। – BrianTheLion
क्या यह सिर्फ एक टाइपो है कि आप jquery फ़ंक्शन में mdl संस्करण की स्क्रिप्ट को लपेट नहीं रहे हैं? – jcuenod