MVC3 IValidatableObject Date - PullRequest
       10

MVC3 IValidatableObject Date

0 голосов
/ 27 мая 2011

У меня есть базовая форма с полем даты, и я хочу проверить ее внутри IValidatableObject.Тип поля сопоставляется со свойством DateTime, поэтому, если кто-то введет код от 26/15/2011, как вы узнаете это в методе Validate?Строго говоря, это почти как проверка объекта DateTime с DateTime, который не имеет смысла.Любые идеи о том, как обойти это или как определить, что это не та дата?

1 Ответ

1 голос
/ 27 мая 2011

Реализуйте IValidatableObject в вашем методе и сделайте проверку для этого поля

, например

public class YourModel : IValidatableObject
{
    public YourModel()
    {
    }

    [Required(ErrorMessage = "date  is required")]
    public string Date { set; get; }

    public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
    {
        DateTime result;
        bool parseDone = DateTime.TryParse(Date, out result);
        if (!parseDone)
        {
             yield return new ValidationResult(Date + "is invalid", new[] { "Date" });
        }            
    }
}

Я предлагаю использовать jquery validate и jqueryUI календарь для клиентской стороны

Надеюсь, это поможет

...