एक .NET एमवीसी प्रोजेक्ट के भीतर jQuery अविभाज्य सत्यापन का उपयोग करना और ऐसा लगता है कि यह ठीक काम कर रहा है। जब मैं फ़ील्ड सही ढंग से मान्य करता हूं (क्लाइंट-साइड और/या रिमोट) अब मैं एक हरे रंग की चेकमार्क दिखाने की कोशिश कर रहा हूं।.NET एमवीसी 3 में jQuery अविभाज्य सत्यापन - सफलतापूर्वक चेकमार्क
<div class="clearfix">
@Html.LabelFor(model => model.Address1, "Street")
<div class="input">
@Html.TextBoxFor(model => model.Address1, new { @class = "xlarge", @maxlength = "100", @placeholder = "e.g. 123 Main St" })
<span class="help-message">
@Html.ValidationMessageFor(model => model.Address1)
<span class="isaok">Looks great.</span>
</span>
<span class="help-block">Enter the street.</span>
</div>
</div>
मुझे क्या करना चाहते हैं "span.isaok" जो बारी में एक पृष्ठभूमि छवि के लिए एक सही का निशान है करने के लिए एक वर्ग 'सक्रिय' जोड़ने है:
यहां एक नमूना क्षेत्र घोषणा है।
मैं का उपयोग कर की कोशिश की मुख्य आकर्षण/unhighlight:
$.validator.setDefaults({
onkeyup: false,
highlight: function (element, errorClass, validClass) {
$(element).addClass(errorClass).removeClass(validClass);
$(element.form).find("label[for=" + element.id + "]").addClass("error");
$(element).parent().find("span.isaok").removeClass("active");
},
unhighlight: function (element, errorClass, validClass) {
$(element).removeClass(errorClass).addClass(validClass);
$(element.form).find("label[for=" + element.id + "]").removeClass("error");
if ($(element).val().length > 0) {
$(element).parent().find("span.isaok").addClass("active");
}
}
});
लेकिन यह खाली होने पर भी सभी क्षेत्रों के लिए एक हरा चेकमार्क दिखाता है! (इसलिए स्पष्ट रूप से गलत)
मैंने फिर 'सफलता' विकल्प का उपयोग करने की कोशिश की लेकिन ऐसा कभी नहीं किया जाता है।
मुझे क्या याद आ रही है?
संपादित करें: तो मैं this blog post पाया और अर्थात्
$(function() {
var settings = $.data($('form')[0], 'validator').settings;
settings.onkeyup = false;
settings.onfocusout = function (element) { $(element).valid(); };
var oldErrorFunction = settings.errorPlacement;
var oldSuccessFunction = settings.success;
settings.errorPlacement = function (error, inputElement) {
inputElement.parent().find("span.isaok").removeClass("active");
oldErrorFunction(error, inputElement);
};
settings.success = function (label) {
var elementId = '#' + label.attr("for");
$(elementId).parent().find("span.isaok").addClass("active");
oldSuccessFunction(label);
};
});
सफलता समारोह का दोहन करने में सक्षम था, लेकिन अब यह दोनों त्रुटि संदेश और वैध निशान से पता चलता है, तो प्रपत्र मान्य नहीं है .. ।
और बाद जैसे ही मैं पेज पर कहीं भी क्लिक के रूप में गायब हो जाता है।
+1 पुरानी पोस्ट लेकिन यह अभी भी मामला प्रतीत होता है। मैं मिनट और इसके काम पर स्विच किया। कोई सुराग क्यों नहीं। – Botonomous