mirror of
https://gitee.com/dotnetchina/Furion.git
synced 2025-12-06 15:59:25 +08:00
67 lines
2.4 KiB
C#
67 lines
2.4 KiB
C#
// ------------------------------------------------------------------------
|
||
// 版权信息
|
||
// 版权归百小僧及百签科技(广东)有限公司所有。
|
||
// 所有权利保留。
|
||
// 官方网站:https://baiqian.com
|
||
//
|
||
// 许可证信息
|
||
// Furion 项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。
|
||
// 许可证的完整文本可以在源代码树根目录中的 LICENSE-APACHE 和 LICENSE-MIT 文件中找到。
|
||
// 官方网站:https://furion.net
|
||
//
|
||
// 使用条款
|
||
// 使用本代码应遵守相关法律法规和许可证的要求。
|
||
//
|
||
// 免责声明
|
||
// 对于因使用本代码而产生的任何直接、间接、偶然、特殊或后果性损害,我们不承担任何责任。
|
||
//
|
||
// 其他重要信息
|
||
// Furion 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。
|
||
// 有关 Furion 项目的其他详细信息,请参阅位于源代码树根目录中的 COPYRIGHT 和 DISCLAIMER 文件。
|
||
//
|
||
// 更多信息
|
||
// 请访问 https://gitee.com/dotnetchina/Furion 获取更多关于 Furion 项目的许可证和版权信息。
|
||
// ------------------------------------------------------------------------
|
||
|
||
using System.ComponentModel.DataAnnotations;
|
||
|
||
namespace Furion.Validation;
|
||
|
||
/// <summary>
|
||
/// 对象验证器服务
|
||
/// </summary>
|
||
public interface IObjectValidator : IValidatorInitializer;
|
||
|
||
/// <summary>
|
||
/// <inheritdoc cref="IObjectValidator" />
|
||
/// </summary>
|
||
/// <typeparam name="T">对象类型</typeparam>
|
||
public interface IObjectValidator<in T> : IObjectValidator
|
||
{
|
||
/// <summary>
|
||
/// 检查对象合法性
|
||
/// </summary>
|
||
/// <param name="instance">对象</param>
|
||
/// <param name="ruleSets">规则集列表</param>
|
||
/// <returns>
|
||
/// <see cref="bool" />
|
||
/// </returns>
|
||
bool IsValid(T? instance, params string?[]? ruleSets);
|
||
|
||
/// <summary>
|
||
/// 获取对象验证结果集合
|
||
/// </summary>
|
||
/// <param name="instance">对象</param>
|
||
/// <param name="ruleSets">规则集列表</param>
|
||
/// <returns>
|
||
/// <see cref="List{T}" />
|
||
/// </returns>
|
||
List<ValidationResult>? GetValidationResults(T? instance, params string?[]? ruleSets);
|
||
|
||
/// <summary>
|
||
/// 验证指定的对象
|
||
/// </summary>
|
||
/// <param name="instance">对象</param>
|
||
/// <param name="ruleSets">规则集列表</param>
|
||
void Validate(T? instance, params string?[]? ruleSets);
|
||
} |