35 lines
1.0 KiB
C#
35 lines
1.0 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
/// <summary>
|
|
/// 属性校验输入
|
|
/// </summary>
|
|
public abstract class Input : IInput
|
|
{
|
|
/// <summary>
|
|
/// 验证当前模型
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
internal IEnumerable<ValidationResult> Validation()
|
|
{
|
|
List<ValidationResult> validationResults = new List<ValidationResult>();
|
|
ValidationContext validationContext = new ValidationContext(this);;
|
|
Validator.TryValidateObject(this, validationContext, validationResults,true);
|
|
List<string> errorMsg = new List<string>();
|
|
Verification(errorMsg);
|
|
if (errorMsg.Any())
|
|
validationResults.AddRange(errorMsg.Select(e => new ValidationResult(e)));
|
|
return validationResults;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 模型验证
|
|
/// </summary>
|
|
/// <param name="errorMsg"></param>
|
|
public virtual void Verification(List<string> errorMsg) { }
|
|
}
|