এজেএক্স কলের মাধ্যমে গতিশীলভাবে লোড হওয়া একটি আংশিক দৃষ্টিভঙ্গি নিয়ে কাজ করার জন্য অবারিত জ্যাকোরি বৈধতা পাওয়ার চেষ্টা করতে আমার সমস্যা হচ্ছে।
আমি এই কোডটি কোনও ভাগ্য না নিয়ে কাজ করার জন্য চেষ্টা করে দিন কাটাচ্ছি।
এখানে দেখুন:
@model MvcApplication2.Models.test
@using (Html.BeginForm())
{
@Html.ValidationSummary(true);
<div id="res"></div>
<input id="submit" type="submit" value="submit" />
}
আংশিক দেখুন:
@model MvcApplication2.Models.test
@Html.TextAreaFor(m => m.MyProperty);
@Html.ValidationMessageFor(m => m.MyProperty);
<script type="text/javascript" >
$.validator.unobtrusive.parse(document);
</script>
মডেলটি:
public class test
{
[Required(ErrorMessage= "required field")]
public int MyProperty { get; set; }
}
নিয়ামক:
public ActionResult GetView()
{
return PartialView("Test");
}
এবং অবশেষে, জাভাস্ক্রিপ্ট:
$(doument).ready(function () {
$.ajax({
url: '/test/getview',
success: function (res) {
$("#res").html(res);
$.validator.unobtrusive.parse($("#res"));
}
});
$("#submit").click(function () {
if ($("form").valid()) {
alert('valid');
return true;
} else {
alert('not valid');
return false;
}
});
বৈধতা কাজ করে না। এমনকি আমি টেক্সবক্সে কোনও তথ্য পূরণ না করলেও জমা দেওয়া ইভেন্টটি সতর্কতা দেখায় ('বৈধ')।
তবে, যদি গতিশীলরূপে ভিউটি লোড করার পরিবর্তে, আমি @Html.Partial("test", Model)
মূল ভিউতে আংশিক ভিউ রেন্ডার করতে ব্যবহার করি (এবং আমি এজেএক্স কল করি না), তবে বৈধতা ঠিকঠাক কাজ করে।
এটি সম্ভবত কারণ যদি আমি কন্টেন্টটি গতিশীলভাবে লোড করি তবে নিয়ন্ত্রণগুলি ডোমটিতে এখনও বিদ্যমান নেই। তবে আমি একটি কল করছি $.validator.unobtrusive.parse($("#res"));
যা নতুন বোঝা নিয়ন্ত্রণগুলি সম্পর্কে ভ্যালিডেটরকে দেওয়ার জন্য যথেষ্ট হওয়া উচিত ...
কেউ সাহায্য করতে পারেন?