2009-04-21 8 views
10

मैं चेकआउट प्रक्रिया के लिए पुराने फैशन वाले एएसपी.NET सत्यापन (यूघ) का उपयोग कर रहा हूं। मेरे पास एक चेकबॉक्स है - "मैं अपने क्रेडिट कार्ड के विवरण के साथ कॉल करूंगा" -। यदि चेक किया गया है तो मुझे क्लाइंट और पोस्टबैक दोनों पर क्रेडिट कार्ड नंबर के लिए आवश्यक फ़ील्ड सत्यापनकर्ता और सीसी सत्यापनकर्ता को अक्षम करने की आवश्यकता है।चेकबॉक्स की जांच होने पर कुछ एएसपी.Net सत्यापन नियंत्रण अक्षम करें

यह कैसे करता है?

उत्तर

11

आप प्रमाणकों क्लाइंट साइड निष्क्रिय कर सकते हैं (जावास्क्रिप्ट में):

function disable(validatorId) 
{ 
    var validator = document.getElementById(validatorId); 
    ValidatorEnable(validator, false); 
} 

कहाँ validatorId की clientid है अक्षम करने के लिए वैधकर्ता। एक पूर्ण उदाहरण के लिए this page देखें।

+0

इसे जांच लेंगे, और तदनुसार कार्य करें - धन्यवाद। –

+1

मुझे किसी मौजूदा सत्यापनकर्ता संदेश को छिपाने के लिए ValidatorEnable() के बाद निम्न को जोड़ने की आवश्यकता है। validator.isvalid = true; ValidatorUpdateDisplay (validator); –

+0

एक बेहतर समाधान है, जहां वे एक आम सीएसएस राज्य हो सकता है इस तरह के छिपे हुए, के रूप में – Jaider

3

आप प्रमाणकों सर्वर साइड निष्क्रिय कर सकते हैं:

MyFieldValidator.Enabled = MyCheckBox.Checked 

Page.Validate() 
If Page.IsValid Then 
    'stuff 
end if 
2

आप सर्वर साइड अक्षम कर रहे हैं, तो आप क्या कर सकते हैं

button1.CausesValidation = False 
अपने CheckChangedEvent में

इस और अधिक उपयोगी है अगर आप सत्यापनकर्ता के लिए बहुत कुछ है और उन सब को निष्क्रिय करने की जरूरत है।

+0

संरक्षित शून्य NoValidation_CheckedChanged उन सत्यापनकर्ता के jQuery चयनकर्ता का उपयोग किया जाएगा (वस्तु प्रेषक, EventArgs ई) { SubmitButton.CausesValidation = NoValidation.Checked; } –

संबंधित मुद्दे