jquery - নির্দিষ্ট মানটি yyyy-MM-dd প্রয়োজনীয় বিন্যাসের সাথে সামঞ্জস্য করে না



asp.net-mvc google-chrome (4)

আপনি ইনপুটট্যাগহেলপার.ফর্ম্যাটটি ব্যবহার করতে পারেন

<input asp-for="MyDate" asp-format="{0:yyyy-MM-dd}" />

https://docs.asp.net/projects/api/en/latest/autoapi/Microsoft/AspNetCore/Mvc/TagHelpers/InputTagHelper/#prop-Microsoft.AspNetCore.Mvc.TagHelpers.InputTagHelper.Format

https://src-bin.com

আমার কাছে একটি নেট নেট এমভিসি 5 অ্যাপ্লিকেশন রয়েছে যা ডেটা টীকাগুলি, সত্তা-ফ্রেমওয়ার্ক জ্যাকুয়ারি 2.1.3 এবং জ্যাকুরি ইউআই 1.11.4 ব্যবহার করছে।

আমি যখন ইউকে ফর্ম্যাট "ডিডি / এমএম / ওয়াইওয়াইওয়াই" ব্যবহার করে টাইপের তারিখের ইনপুট সহ একটি সম্পাদনা ফর্ম রেন্ডার করি; গুগল ক্রোম ব্যবহার করার সময় নিম্নলিখিত ত্রুটি বার্তাটি উপস্থিত হয়:

নির্দিষ্ট মান '10 / 10/2001 'প্রয়োজনীয় বিন্যাস,' yyyy-MM-dd 'অনুসারে নয়। jQuery-2.1.3.js: 5317

মডেল

public class MyModel
{
    [Column(TypeName = "date"), DataType(DataType.Date), Display(Name = "My date")]
    [DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}")]
    public string MyDate { get; set; }
}

মার্কআপ

<input class="text-box single-line" data-val="true" data-val-date="The field My date must be a date." id="MyDate" name="MyDate" type="date" value="10/10/2001" />

মানটি ইনপুট নিয়ন্ত্রণে সঠিকভাবে সেট করা থাকলেও তারিখটি ব্রাউজারে উপস্থিত হয় না। আমি প্রথমে ভেবেছিলাম এটি jQuery এর সাথে সমস্যা ছিল কারণ এটি jQuery স্ক্রিপ্ট ফাইল প্রদর্শিত হচ্ছে, তবে আইই এবং ফায়ারফক্সে পরীক্ষা করার সময় সবকিছু ঠিকঠাক চলছে।

আমি তখন ধরে নিয়েছিলাম ক্রোমে এটি ছিল আমার আঞ্চলিক স্থাপনা হিসাবে ডিফল্টরূপে ক্রোম মনে করে যে প্রত্যেকে ইংরেজ আমেরিকাতে আছে, আমি আঞ্চলিক সেটিংটি ইউকেতে পরিবর্তন করেছি এবং এখনও একই সমস্যাটি উপস্থিত হয়।

একটি সাধারণ ফিক্সটি হ'ল আমার মডেলটির ফর্ম্যাটটি সর্বজনীনতে পরিবর্তন করা হবে তবে যুক্তরাজ্যের ব্যবহারকারীদের কাছে এটি কিছুটা এলিয়েন।

ক্রোমকে কী বলার কোনও উপায় আছে যা "ডিডি / এমএম / ওয়াইওয়াইওয়াই" তে তারিখের ফর্ম্যাটগুলি গ্রহণ করে?


Answer #1

আমি এখানে উত্তরের কিছু হাইলাইট করতে চাই।

আপনি যদি এমন একটি অ্যাপ্লিকেশন তৈরি করছেন যা বিশ্বায়ন এবং স্থানীয়করণ রয়েছে তবে এইচটিএমএল সহায়ক সাহায্যে ব্যবহার করে কোনও ফর্ম্যাটে পাস করার পদ্ধতিটি আরও ভাল। আপনি কেবল এডিটরফোর্ড ব্যবহার করতে পারেন এবং ডেটপিকারের জন্য প্রয়োজনীয় আইডি বা ক্লাসে পাস করতে পারেন।


Answer #2

পাঠ্যের জন্য type বৈশিষ্ট্যটি সেট করুন।

@Html.TextBoxFor(m => m.MyDate, new { @type = "text"  })

Answer #3

সমস্যাটি = "তারিখ" টাইপ থেকে হতে পারে। যাইহোক আমার অবস্থা ছিল। এটি একবার = "পাঠ্য" টাইপে পরিবর্তিত হয়ে কাজ করেছিল। যদি ইন্টারফেসটি একটি এমভিসি মোড়ক দিয়ে নির্মিত হয়, আপনাকে সেই অনুযায়ী html বৈশিষ্ট্য প্রতিস্থাপন বা সেট করতে হবে।