/// <summary> /// 对model进行验证 /// </summary> /// <param name="model"></param> /// <returns></returns> public override bool TryValidateModel(object model) { try { if (!this.ModelState.IsValid) { return(this.ModelState.IsValid); } if (model == null) { return(base.TryValidateModel(model)); } var modelType = model.GetType(); var validator = ValidatorProvider.GetValidator(modelType); if (validator == null) { return(base.TryValidateModel(model)); } var modelValidator = new ValidationModelValidator(validator); var array = modelValidator.ValidateModel(model); if (array.IsNullOrEmpty()) { return(base.TryValidateModel(model)); } if (array.Any()) { foreach (var a in array) { this.ModelState.AddModelError(a.MemberName, a.Message); } return(false); } return(base.TryValidateModel(model)); } catch { } return(base.TryValidateModel(model)); }
/// <summary> /// 对model进行验证 /// </summary> /// <param name="model"></param> /// <returns></returns> public new bool TryValidateModel(object model) { if (!this.ModelState.IsValid) { return(this.ModelState.IsValid); } if (model == null) { return(base.TryValidateModel(model)); } var modelType = model.GetType(); var validator = ValidatorProvider.GetValidator(modelType); if (validator == null) { return(base.TryValidateModel(model)); } var metadata = ModelMetadataProviders.Current.GetMetadataForType(() => model, modelType); var modelValidator = new ValidationModelValidator(metadata, this.ControllerContext, validator); var array = modelValidator.ValidateModel(model); if (array.IsNullOrEmpty()) { return(base.TryValidateModel(model)); } if (array.Any()) { foreach (var a in array) { this.ModelState.AddModelError(a.MemberName, a.Message); } return(false); } return(base.TryValidateModel(model)); }
/// <summary> /// 对model进行验证 /// </summary> /// <param name="model"></param> /// <returns></returns> public bool TryValidateModel(object model) { if (!this.ModelState.IsValid) { return(this.ModelState.IsValid); } if (model == null) { this.ModelState.AddModelError("parameter", new ArgumentNullException()); return(this.ModelState.IsValid); } var modelType = model.GetType(); var validator = ValidatorProvider.GetValidator(modelType); if (validator == null) { return(this.ModelState.IsValid); } var modelValidator = new ValidationModelValidator(new System.Web.Http.Validation.ModelValidatorProvider[0], validator); var array = modelValidator.ValidateModel(model); if (array.IsNullOrEmpty()) { return(this.ModelState.IsValid); } if (array.Any()) { foreach (var a in array) { this.ModelState.AddModelError(a.MemberName, a.Message); } return(false); } return(this.ModelState.IsValid); }