मैं ईएफ कोर के साथ एएसपी.नेट कोर एमवीसी का उपयोग कर रहा हूं।

नीचे दिया गया कोड मुझे दिनांक-समय पिकर में दिनांक-समय का चयन करने की अनुमति देता है। हालांकि, मैं इसे बनाना चाहता हूं ताकि उपयोगकर्ता वर्तमान दिनांक समय से 5 दिन पहले और 3 घंटे पहले किसी भी दिनांक समय का चयन करने में सक्षम न हो।

मान लीजिए कि मुझे अपने डेटटाइम पिकर के लिए jQuery कोड नहीं मिल रहे हैं, मैं डेट-टाइम को कैसे प्रतिबंधित करूं?

राय:

<div class="form-group">
     <label asp-for="DateTime" class="control-label"></label>
     <input asp-for="DateTime" class="form-control"   />
     <span asp-validation-for="DateTime" class="text-danger"></span>
</div>

मॉडल (यदि आवश्यक हो):

[Required(ErrorMessage = "Please Enter The Date/Time ..")]
[Display(Name = "Date/Time")]
public DateTime DateTime { get; set; }

नियंत्रक:

public IActionResult CreateTest()
{
    return View();
}

[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> CreateTest([Bind("ID,DateTime")] TestModel testModel)
{
    if (ModelState.IsValid)
    {
        testModel.ID = Guid.NewGuid();
        _context.Add(testModel);
        await _context.SaveChangesAsync();
        return RedirectToAction(nameof(Index));
    }
    return View(testModel);
}
1
addsw 11 अगस्त 2020, 11:53

1 उत्तर

सबसे बढ़िया उत्तर

आप दिनांक सीमा निर्धारित करने के लिए एक कस्टम Validation attribute बना सकते हैं।

[Required(ErrorMessage = "Please Enter The Date/Time ..")]
[Display(Name = "Date/Time")] 
[ValidateDateRange]
public DateTime DateTime { get; set; }

यहां ValidateDateRange के कोड दिए गए हैं।

public class ValidateDateRange : ValidationAttribute
{
    protected override ValidationResult IsValid(object value, ValidationContext validationContext)
    {
        DateTime dt = (DateTime)value;

        if (dt <= DateTime.Now.AddDays(-5).AddHours(-3))
        {
            return ValidationResult.Success;
        }
        else
        {
            return new ValidationResult("Date is not in given range.");
        }
    }
}

परीक्षण का स्क्रीनशॉट

enter image description here

सत्यापन विशेषताओं के लिंक .

1
Michael Wang 11 अगस्त 2020, 16:33