asp.net mvc 2 - ModelState.AddModelError-আমি কোনও সম্পত্তি যোগ করতে পারি যা কোন সম্পত্তি নয়?




asp.net-mvc-2 asp.net-mvc-2-validation (2)

অবশেষে আমি যা ব্যবহার করছিলাম আমি সেটির একটি উদাহরণের উপর ঝাপসা দিলাম - সাধারণত এটির বৈশিষ্ট্যগুলির পরিবর্তে মডেলটিকে একটি ত্রুটিটি বরাদ্দ করতে, স্বাভাবিকভাবেই আপনি কল করুন:

ModelState.AddModelError(string key, string errorMessage);

কিন্তু কী জন্য একটি খালি স্ট্রিং ব্যবহার করুন:

ModelState.AddModelError(string.Empty, "There is something wrong with Foo.");

ত্রুটি বার্তাটি নিজেকে <%: Html.ValidationSummary() %> যা আপনি আশা করবেন।

আমি Create(FooViewModel fvm){...}fvm.prop1 এবং fvm.prop2 ইতিমধ্যে যে সংমিশ্রণে বিদ্যমান কিনা তা দেখতে আমার ডাটাবেস চেক করছি; যদি তাই হয়, আমি মডেলস্টেটে একটি ত্রুটি যোগ করতে চান, তাহলে পুরো দৃশ্যটি ফেরত পাঠান। আমি চেষ্টা করেছিলাম:

public ActionResult Create(FooViewModel fvm){
    if (ThatComboAlreadyExists(fvm)) {
      ModelState.AddModelError("Model", "There is already one like that");
      return View(fvm);
    }
}

... কিন্তু আমি Html.ValidationSummary মধ্যে ত্রুটি কোন প্রদর্শন না। Html.ValidationSummary , যেখানে আমি মনে করি তারা প্রদর্শিত হবে। আমার সন্দেহ আছে যে "মডেল" সঠিক কী নয়, তবে আমি কোনও Google সন্ধান করতে পারিনি।


আপনি আপনার মডেলের যে কোনও সম্পত্তিতে মডেল ত্রুটি যুক্ত করতে পারেন, যদি আমি একটি নতুন সম্পত্তি তৈরি করার বিষয়ে কিছুই না বলে প্রস্তাব করি।

উদাহরণ হিসেবে আমরা পরীক্ষা করে দেখি যে ইমেল ইতিমধ্যে ডিবিতে ব্যবহার করা হয়েছে কিনা এবং ক্রিয়াটিতে ইমেল সম্পত্তিটিতে ত্রুটির যোগ করুন তাই যখন আমি দৃশ্যটি ফেরত দিই, তখন তারা জানেন যে একটি ত্রুটি রয়েছে এবং এটি ব্যবহার করে কীভাবে দেখাতে হয়

<%: Html.ValidationSummary(true)%>
<%: Html.ValidationMessageFor(model => model.Email) %>

এবং

ModelState.AddModelError("Email", Resources.EmailInUse);




modelstate