0

ниже приведен код как-то проверка на стороне клиента не работает ... Я искал пару вопросов в этом форуме, и написал ..стороны клиента проверка в MVC3 не работает

вот пользовательский атрибут проверки «startDateAttribute»

[AttributeUsage(AttributeTargets.Field | AttributeTargets.Property, AllowMultiple = false, Inherited = true)] 
    public class StartDateAttribute : ValidationAttribute, IClientValidatable 
    { 
     public StartDateAttribute() 
     { 
     } 

     public override bool IsValid(object value) 
     { 
      var date = (DateTime)value; 
      if (date.Date >= DateTime.Now.Date) 
      { 
       return true; 
      } 
      return false; 
     } 

     public IEnumerable<ModelClientValidationRule> GetClientValidationRules(ModelMetadata metadata, ControllerContext context) 
     { 
      yield return new ModelClientValidationRule 
      { 
       ErrorMessage = this.ErrorMessage, 
       ValidationType = "DateRange" 
      }; 
     } 
    } 

    [CurrentDateAttribute(ErrorMessage = "select the correct date")]  
    public DateTime? StartDate { get; set; } 

здесь код JQuery добавил

 jQuery.validator.addMethod('DateRange', function (value, element, params) { 
    var d = new Date();   
    var currentDate = (d.getMonth()+1) + "/"+d.getDate()+ "/" + d.getFullYear() ; 
    return value >= currentDate; 
}); 

// and an unobtrusive adapter 
jQuery.validator.unobtrusive.adapters.add('DateRange', { }, function (options) { 
    options.rules['DateRange'] = true; 
    options.messages['DateRange'] = options.message; 
}); 

ответ

0

Одним из требований проверки на стороне клиента является то, что ValidationType и имя адаптера должны м а также должен быть строчным.

Измените имя ValidationType и адаптер на «daterange» и отметьте

Смежные вопросы