Files
Furion/framework/Furion.Pure/V5_Experience/Validation/Fluent/IObjectValidator.cs
2025-12-06 05:15:46 +08:00

67 lines
2.4 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// ------------------------------------------------------------------------
// 版权信息
// 版权归百小僧及百签科技(广东)有限公司所有。
// 所有权利保留。
// 官方网站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);
}