काम नहीं कर रहा है मैं रेज़र के साथ एमवीसी 3 का उपयोग कर रहा हूं।
मैं अपने _Layout.cshtml में निम्नलिखित शामिल किया है:एमवीसी 3 क्लाइंट साइड सत्यापन
<script src="@Url.Content("~/Scripts/jquery.validate.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/MicrosoftMvcAjax.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/MicrosoftMvcValidation.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/MicrosoftAjax.js")" type="text/javascript"></script>
मेरे प्रपत्र लगता है:
@{
ViewBag.Title = "Register";
Html.EnableClientValidation();
}
@using (Html.BeginForm("Register"))
{
<fieldset>
<p>
@Html.LabelFor(o => o.Email)
@Html.TextBoxFor(o => o.Email)
@Html.ValidationMessageFor(o => o.Email)
</p>
...
</fieldset>
}
मेरे ViewModel DataAnnotations है (और IValidatableObject लागू करता है), और यह नियंत्रक के दौरान मान्य करता है कार्रवाई। हालांकि मैं फॉर्म पोस्ट किए बिना क्लाइंटसाइड पर जेएस सत्यापन का उपयोग करने में सक्षम नहीं प्रतीत होता।
मुझे क्या याद आ रही है?
मैंने यह किया। अभी भी कुछ भी नहीं हुआ। क्या प्रत्येक कीस्ट्रोक पर सत्यापन होना चाहिए? या जब टेक्स्टबॉक्स फोकस खो देता है? जब मैं फॉर्म लोड करता हूं तो आवश्यक विशेषताओं वाले खाली फ़ील्ड अमान्य होनी चाहिए? – TDaver
@TDaver, डिफ़ॉल्ट क्लाइंट सत्यापन द्वारा तब होता है जब इनपुट फोकस खो देता है या जब आप फॉर्म जमा करने का प्रयास करते हैं। –