मैं इस तरह ASP.NET MVC कार्रवाई सरल है:
public ActionResult Edit(EditPostViewModel data)
{
}
इस EditPostViewModel
तरह सत्यापन गुण हैं:
[Display(Name = "...", Description = "...")]
[StringLength(100, MinimumLength = 3, ErrorMessage = "...")]
[Required()]
public string Title { get; set; }
देखने में मैं निम्नलिखित सहायकों का उपयोग कर रहा हूं:
@Html.LabelFor(Model => Model.EditPostViewModel.Title, true)
@Html.TextBoxFor(Model => Model.EditPostViewModel.Title,
new { @class = "tb1", @Style = "width:400px;" })
यदि मैं एक फॉर्म पर सबमिट करता हूं कि यह टेक्स्टबॉक्स एक सत्यापन में रखा गया है तो पहले ग्राहक पर और फिर सेवा पर ( ModelState.IsValid
) किया जाएगा।
अब मुझे कुछ प्रश्न मिले:
क्या इसके बजाय jQuery के अजाक्स सबमिट के साथ इसका उपयोग किया जा सकता है? मैं जो कर रहा हूं वह केवल फॉर्म को हटा दें और सबमिट बटन पर क्लिक करने पर एक जावास्क्रिप्ट डेटा इकट्ठा करेगा और फिर रन करेगा
$.ajax
।क्या सर्वर साइड
ModelState.IsValid
काम करेगा?मैं सत्यापन समस्या को क्लाइंट को कैसे अग्रेषित कर सकता हूं और इसे पेश कर सकता हूं जैसे कि इम इंट इंटेलीजेंस (
@Html.ValidationSummary(true)
) का उपयोग कर रहा है ?
अजाक्स कॉल का उदाहरण:
function SendPost(actionPath) {
$.ajax({
url: actionPath,
type: 'POST',
dataType: 'json',
data:
{
Text: $('#EditPostViewModel_Text').val(),
Title: $('#EditPostViewModel_Title').val()
},
success: function (data) {
alert('success');
},
error: function () {
alert('error');
}
});
}
1 संपादित करें:
पेज पर शामिल:
<script src="/Scripts/jquery-1.7.1.min.js"></script>
<script src="/Scripts/jquery.validate.min.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.min.js"></script>