بعد از یک روز کامل فکر کردن فهمیدم که وقتی اطلاعات یک فرم رو به صورت ajax ای ثبت کنیم باید به صورت ajaxای هم بهش بگیم که اگر isvalid نبود اطلاعات رو ثبت نکن و پیغام بده.
یعنی به جز مراحلی که بالا نوشتم باید تابع جاوااسکریپت رو هم به صورت زیر بنویسیم:
if (!$("form#ajaxForm").valid())
return;
$.ajax({
////////////////////دستورات لازم برای insert
});
من برای ثبت داده هام در chtml به صورت زیر عمل کردم :
@using (Ajax.BeginForm("Insert", new { id = Model.ID }, ajaxOptions, new {id="ajaxForm"}))
{
@Html.EditorForModel()
}
امیدوارم تجربه من برای شما هم مفید باشه.