mirror of
https://gitee.com/dotnetchina/Furion.git
synced 2025-12-06 07:49:05 +08:00
Compare commits
4 Commits
0d5f14e178
...
a41e1d869f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a41e1d869f | ||
|
|
954761c5d5 | ||
|
|
6270b63479 | ||
|
|
75402c2c21 |
@@ -13,7 +13,8 @@ body:
|
||||
label: 版本号
|
||||
description: 请选择项目使用的 Furion 版本?
|
||||
options:
|
||||
- 4.9.7.216 (最新)
|
||||
- 4.9.7.217 (最新)
|
||||
- 4.9.7.216
|
||||
- 4.9.7.215
|
||||
- 4.9.7.214
|
||||
- 4.9.7.213
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<PropertyGroup>
|
||||
<LangVersion>preview</LangVersion>
|
||||
<TargetFrameworks>net8.0;net9.0;net10.0</TargetFrameworks>
|
||||
<Version>4.9.7.216</Version>
|
||||
<Version>4.9.7.217</Version>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<!--<Nullable>enable</Nullable>-->
|
||||
<Authors>百小僧</Authors>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="MongoDB.Driver" Version="3.5.1" />
|
||||
<PackageReference Include="MongoDB.Driver" Version="3.5.2" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -35,4 +35,20 @@
|
||||
<None Include="readme.txt" pack="true" PackagePath="." />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Update="V5_Experience\Validation\Resources\ValidationMessages.Designer.cs">
|
||||
<DesignTime>True</DesignTime>
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>ValidationMessages.resx</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Update="V5_Experience\Validation\Resources\ValidationMessages.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>ValidationMessages.Designer.cs</LastGenOutput>
|
||||
<CustomToolNamespace>Furion.Validation.Resources</CustomToolNamespace>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -29,14 +29,14 @@ namespace Furion.Schedule;
|
||||
/// 指定具体时间触发的一次性作业触发器特性
|
||||
/// </summary>
|
||||
[SuppressSniffer, AttributeUsage(AttributeTargets.Class, AllowMultiple = true)]
|
||||
public class DateTimeAttribute : TriggerAttribute
|
||||
public class AtAttribute : TriggerAttribute
|
||||
{
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
/// <param name="triggerTime">触发时间</param>
|
||||
public DateTimeAttribute(string triggerTime)
|
||||
: base(typeof(DateTimeTrigger)
|
||||
public AtAttribute(string triggerTime)
|
||||
: base(typeof(AtTrigger)
|
||||
, triggerTime)
|
||||
{
|
||||
}
|
||||
@@ -77,9 +77,9 @@ public sealed partial class TriggerBuilder : Trigger
|
||||
/// </summary>
|
||||
/// <param name="triggerTime">触发时间</param>
|
||||
/// <returns><see cref="TriggerBuilder"/></returns>
|
||||
public static TriggerBuilder DateTime(DateTime triggerTime)
|
||||
public static TriggerBuilder At(DateTime triggerTime)
|
||||
{
|
||||
return DateTime(triggerTime.ToString());
|
||||
return At(triggerTime.ToString());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -87,9 +87,9 @@ public sealed partial class TriggerBuilder : Trigger
|
||||
/// </summary>
|
||||
/// <param name="triggerTime">触发时间</param>
|
||||
/// <returns><see cref="TriggerBuilder"/></returns>
|
||||
public static TriggerBuilder DateTime(string triggerTime)
|
||||
public static TriggerBuilder At(string triggerTime)
|
||||
{
|
||||
return Create<DateTimeTrigger>(triggerTime);
|
||||
return Create<AtTrigger>(triggerTime);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -28,13 +28,13 @@ namespace Furion.Schedule;
|
||||
/// <summary>
|
||||
/// 指定具体时间触发的一次性作业触发器
|
||||
/// </summary>
|
||||
public class DateTimeTrigger : Trigger
|
||||
public class AtTrigger : Trigger
|
||||
{
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
/// <param name="triggerTime">触发时间</param>
|
||||
public DateTimeTrigger(string triggerTime)
|
||||
public AtTrigger(string triggerTime)
|
||||
{
|
||||
TriggerTime = Convert.ToDateTime(triggerTime);
|
||||
}
|
||||
@@ -356,9 +356,9 @@ public static class Triggers
|
||||
/// </summary>
|
||||
/// <param name="triggerTime">触发时间</param>
|
||||
/// <returns><see cref="TriggerBuilder"/></returns>
|
||||
public static TriggerBuilder DateTime(DateTime triggerTime)
|
||||
public static TriggerBuilder At(DateTime triggerTime)
|
||||
{
|
||||
return TriggerBuilder.DateTime(triggerTime);
|
||||
return TriggerBuilder.At(triggerTime);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -366,8 +366,8 @@ public static class Triggers
|
||||
/// </summary>
|
||||
/// <param name="triggerTime">触发时间</param>
|
||||
/// <returns><see cref="TriggerBuilder"/></returns>
|
||||
public static TriggerBuilder DateTime(string triggerTime)
|
||||
public static TriggerBuilder At(string triggerTime)
|
||||
{
|
||||
return TriggerBuilder.DateTime(triggerTime);
|
||||
return TriggerBuilder.At(triggerTime);
|
||||
}
|
||||
}
|
||||
@@ -525,6 +525,21 @@ public abstract class FluentValidatorBuilder<T, TSelf> where TSelf
|
||||
public TSelf MustUnless(Func<T?, bool> condition) =>
|
||||
AddValidator(new MustUnlessValidator<T>(condition));
|
||||
|
||||
/// <summary>
|
||||
/// 添加自定义条件不成立时委托验证器
|
||||
/// </summary>
|
||||
/// <param name="condition">条件委托</param>
|
||||
/// <returns>
|
||||
/// <typeparamref name="TSelf" />
|
||||
/// </returns>
|
||||
public TSelf MustUnlessUseServices(Func<T?, IServiceProvider?, bool> condition)
|
||||
{
|
||||
// 空检查
|
||||
ArgumentNullException.ThrowIfNull(condition);
|
||||
|
||||
return AddValidator(new MustUnlessValidator<T>(u => condition(u, _serviceProvider)));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 添加自定义条件成立时委托验证器
|
||||
/// </summary>
|
||||
@@ -534,6 +549,21 @@ public abstract class FluentValidatorBuilder<T, TSelf> where TSelf
|
||||
/// </returns>
|
||||
public TSelf Must(Func<T?, bool> condition) => AddValidator(new MustValidator<T>(condition));
|
||||
|
||||
/// <summary>
|
||||
/// 添加自定义条件成立时委托验证器
|
||||
/// </summary>
|
||||
/// <param name="condition">条件委托</param>
|
||||
/// <returns>
|
||||
/// <typeparamref name="TSelf" />
|
||||
/// </returns>
|
||||
public TSelf MustUseServices(Func<T?, IServiceProvider?, bool> condition)
|
||||
{
|
||||
// 空检查
|
||||
ArgumentNullException.ThrowIfNull(condition);
|
||||
|
||||
return AddValidator(new MustValidator<T>(u => condition(u, _serviceProvider)));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 添加非空白字符串验证器
|
||||
/// </summary>
|
||||
@@ -601,6 +631,21 @@ public abstract class FluentValidatorBuilder<T, TSelf> where TSelf
|
||||
/// </returns>
|
||||
public TSelf Predicate(Func<T?, bool> condition) => AddValidator(new PredicateValidator<T>(condition));
|
||||
|
||||
/// <summary>
|
||||
/// 添加自定义条件成立时委托验证器
|
||||
/// </summary>
|
||||
/// <param name="condition">条件委托</param>
|
||||
/// <returns>
|
||||
/// <typeparamref name="TSelf" />
|
||||
/// </returns>
|
||||
public TSelf PredicateUseServices(Func<T?, IServiceProvider?, bool> condition)
|
||||
{
|
||||
// 空检查
|
||||
ArgumentNullException.ThrowIfNull(condition);
|
||||
|
||||
return AddValidator(new PredicateValidator<T>(u => condition(u, _serviceProvider)));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 添加指定数值范围约束验证器
|
||||
/// </summary>
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
// ------------------------------------------------------------------------
|
||||
// 版权信息
|
||||
// 版权归百小僧及百签科技(广东)有限公司所有。
|
||||
// 所有权利保留。
|
||||
// 官方网站: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>
|
||||
internal static class Constants
|
||||
{
|
||||
/// <summary>
|
||||
/// 规则集列表键
|
||||
/// </summary>
|
||||
/// <remarks>被用于从 <see cref="ValidationContext" /> 的 <c>Items</c> 属性中读取。</remarks>
|
||||
internal const string RULESETS_KEY = "__VALIDATION_RULESETS__";
|
||||
}
|
||||
@@ -59,13 +59,12 @@ public static class ValidationExtensions
|
||||
/// <see cref="ValidationContext" />
|
||||
/// </param>
|
||||
/// <param name="configure">自定义配置委托</param>
|
||||
/// <param name="ruleSets">规则集列表</param>
|
||||
/// <typeparam name="T">对象类型</typeparam>
|
||||
/// <returns>
|
||||
/// <see cref="IEnumerable{T}" />
|
||||
/// </returns>
|
||||
public static IEnumerable<ValidationResult> ValidateObject<T>(this ValidationContext validationContext,
|
||||
Action<ObjectValidator<T>>? configure = null, params string?[] ruleSets)
|
||||
Action<ObjectValidator<T>>? configure = null)
|
||||
where T : class
|
||||
{
|
||||
// 空检查
|
||||
@@ -81,6 +80,13 @@ public static class ValidationExtensions
|
||||
// 调用自定义配置委托
|
||||
configure?.Invoke(objectValidator);
|
||||
|
||||
// 尝试从 Items 中解析规则集列表
|
||||
string?[]? ruleSets = null;
|
||||
if (validationContext.Items.TryGetValue(Constants.RULESETS_KEY, out var ruleSetsObj))
|
||||
{
|
||||
ruleSets = ruleSetsObj as string?[] ?? (ruleSetsObj is string ruleSet ? [ruleSet] : null);
|
||||
}
|
||||
|
||||
// 获取对象验证结果集合
|
||||
return objectValidator.GetValidationResults((T)validationContext.ObjectInstance, ruleSets) ?? [];
|
||||
}
|
||||
|
||||
@@ -530,6 +530,4 @@ public class ObjectValidator<T> : IObjectValidator<T>, IDisposable
|
||||
_annotationValidator.ValidateAllProperties = Options.ValidateAllProperties;
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: 这里还未提供解析服务的处理,是提供 GetService<T> 还是 ServiceProvider
|
||||
}
|
||||
@@ -176,6 +176,22 @@ public sealed partial class PropertyValidator<T, TProperty> where T : class
|
||||
[new Func<TProperty?, bool>(u => condition(instance, u))]);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 添加自定义条件不成立时委托验证器
|
||||
/// </summary>
|
||||
/// <param name="condition">条件委托</param>
|
||||
/// <returns>
|
||||
/// <see cref="PropertyValidator{T,TProperty}" />
|
||||
/// </returns>
|
||||
public PropertyValidator<T, TProperty> MustUnlessUseServices(Func<T, TProperty?, IServiceProvider?, bool> condition)
|
||||
{
|
||||
// 空检查
|
||||
ArgumentNullException.ThrowIfNull(condition);
|
||||
|
||||
return ValidatorProxy<MustUnlessValidator<TProperty>>(instance =>
|
||||
[new Func<TProperty?, bool>(u => condition(instance, u, _serviceProvider))]);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 添加自定义条件成立时委托验证器
|
||||
/// </summary>
|
||||
@@ -192,6 +208,22 @@ public sealed partial class PropertyValidator<T, TProperty> where T : class
|
||||
[new Func<TProperty?, bool>(u => condition(instance, u))]);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 添加自定义条件成立时委托验证器
|
||||
/// </summary>
|
||||
/// <param name="condition">条件委托</param>
|
||||
/// <returns>
|
||||
/// <see cref="PropertyValidator{T,TProperty}" />
|
||||
/// </returns>
|
||||
public PropertyValidator<T, TProperty> MustUseServices(Func<T, TProperty?, IServiceProvider?, bool> condition)
|
||||
{
|
||||
// 空检查
|
||||
ArgumentNullException.ThrowIfNull(condition);
|
||||
|
||||
return ValidatorProxy<MustValidator<TProperty>>(instance =>
|
||||
[new Func<TProperty?, bool>(u => condition(instance, u, _serviceProvider))]);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 添加不相等验证器
|
||||
/// </summary>
|
||||
@@ -223,6 +255,22 @@ public sealed partial class PropertyValidator<T, TProperty> where T : class
|
||||
[new Func<TProperty?, bool>(u => condition(instance, u))]);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 添加自定义条件成立时委托验证器
|
||||
/// </summary>
|
||||
/// <param name="condition">条件委托</param>
|
||||
/// <returns>
|
||||
/// <see cref="PropertyValidator{T,TProperty}" />
|
||||
/// </returns>
|
||||
public PropertyValidator<T, TProperty> PredicateUseServices(Func<T, TProperty?, IServiceProvider?, bool> condition)
|
||||
{
|
||||
// 空检查
|
||||
ArgumentNullException.ThrowIfNull(condition);
|
||||
|
||||
return ValidatorProxy<PredicateValidator<TProperty>>(instance =>
|
||||
[new Func<TProperty?, bool>(u => condition(instance, u, _serviceProvider))]);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 添加验证器代理
|
||||
/// </summary>
|
||||
@@ -330,12 +378,4 @@ public sealed partial class PropertyValidator<T, TProperty> where T : class
|
||||
/// </returns>
|
||||
public ObjectValidator<T> RuleSet(string?[]? ruleSets, Action<ObjectValidator<T>> setAction) =>
|
||||
_objectValidator.RuleSet(ruleSets, setAction);
|
||||
|
||||
// TODO: 考虑支持解析服务的的拓展,比如先解析服务,满足某种添加再操作,另外是否考虑数据验证中,比如是否大于某个值,而这个值是通过服务解析出来的!
|
||||
|
||||
// TODO: Func<T, bool> 改为 Func<ValidationContext, bool>,因为里面可能还会解析服务
|
||||
|
||||
// TODO: IServiceProvider 还没用上,还有 ValidationContent 也是
|
||||
|
||||
// TODO: MustUseServices:解析服务的验证器
|
||||
}
|
||||
@@ -1,9 +1,10 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// 此代码由工具生成。
|
||||
// 运行时版本:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
@@ -12,13 +13,13 @@ namespace Furion.Validation.Resources {
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||
/// 一个强类型的资源类,用于查找本地化的字符串等。
|
||||
/// </summary>
|
||||
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||
// class via a tool like ResGen or Visual Studio.
|
||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
// with the /str option, or rebuild your VS project.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||
// 此类是由 StronglyTypedResourceBuilder
|
||||
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
|
||||
// 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
|
||||
// (以 /str 作为命令选项),或重新生成 VS 项目。
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "18.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class ValidationMessages {
|
||||
@@ -32,13 +33,13 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the cached ResourceManager instance used by this class.
|
||||
/// 返回此类使用的缓存的 ResourceManager 实例。
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Furion.Validation.Resources.ValidationMessages", typeof(ValidationMessages).Assembly);
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Furion.V5_Experience.Validation.Resources.ValidationMessages", typeof(ValidationMessages).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
@@ -46,8 +47,8 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overrides the current thread's CurrentUICulture property for all
|
||||
/// resource lookups using this strongly typed resource class.
|
||||
/// 重写当前线程的 CurrentUICulture 属性,对
|
||||
/// 使用此强类型资源类的所有资源查找执行重写。
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture {
|
||||
@@ -60,7 +61,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} is not a valid age..
|
||||
/// 查找类似 The field {0} is not a valid age. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string AgeValidator_ValidationError {
|
||||
get {
|
||||
@@ -69,7 +70,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be at least 18 years old..
|
||||
/// 查找类似 The field {0} must be at least 18 years old. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string AgeValidator_ValidationError_IsAdultOnly {
|
||||
get {
|
||||
@@ -78,7 +79,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The {0} field does not equal any of the values specified in AllowedValuesValidator..
|
||||
/// 查找类似 The {0} field does not equal any of the values specified in AllowedValuesValidator. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string AllowedValuesValidator_ValidationError {
|
||||
get {
|
||||
@@ -87,7 +88,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} is not a valid bank card number..
|
||||
/// 查找类似 The field {0} is not a valid bank card number. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string BankCardValidator_ValidationError {
|
||||
get {
|
||||
@@ -96,7 +97,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The {0} field is not a valid Base64 encoding..
|
||||
/// 查找类似 The {0} field is not a valid Base64 encoding. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string Base64StringValidator_ValidationError {
|
||||
get {
|
||||
@@ -105,7 +106,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} is not a valid Chinese name..
|
||||
/// 查找类似 The field {0} is not a valid Chinese name. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string ChineseNameValidator_ValidationError {
|
||||
get {
|
||||
@@ -114,7 +115,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} contains invalid Chinese characters..
|
||||
/// 查找类似 The field {0} contains invalid Chinese characters. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string ChineseValidator_ValidationError {
|
||||
get {
|
||||
@@ -123,7 +124,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} is not a valid color value..
|
||||
/// 查找类似 The field {0} is not a valid color value. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string ColorValueValidator_ValidationError {
|
||||
get {
|
||||
@@ -132,7 +133,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be a valid date..
|
||||
/// 查找类似 The field {0} must be a valid date. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string DateOnlyValidator_ValidationError {
|
||||
get {
|
||||
@@ -141,7 +142,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be a valid date in the following format(s): {1}..
|
||||
/// 查找类似 The field {0} must be a valid date in the following format(s): {1}. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string DateOnlyValidator_ValidationError_Formats {
|
||||
get {
|
||||
@@ -150,7 +151,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be a valid datetime..
|
||||
/// 查找类似 The field {0} must be a valid datetime. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string DateTimeValidator_ValidationError {
|
||||
get {
|
||||
@@ -159,7 +160,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be a valid datetime in the following format(s): {1}..
|
||||
/// 查找类似 The field {0} must be a valid datetime in the following format(s): {1}. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string DateTimeValidator_ValidationError_Formats {
|
||||
get {
|
||||
@@ -168,7 +169,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must not have more than '{1}' decimal places..
|
||||
/// 查找类似 The field {0} must not have more than '{1}' decimal places. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string DecimalPlacesValidator_ValidationError {
|
||||
get {
|
||||
@@ -177,7 +178,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The {0} field equals one of the values specified in DeniedValuesValidator..
|
||||
/// 查找类似 The {0} field equals one of the values specified in DeniedValuesValidator. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string DeniedValuesValidator_ValidationError {
|
||||
get {
|
||||
@@ -186,7 +187,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} is not a valid domain name..
|
||||
/// 查找类似 The field {0} is not a valid domain name. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string DomainValidator_ValidationError {
|
||||
get {
|
||||
@@ -195,7 +196,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The {0} field is not a valid e-mail address..
|
||||
/// 查找类似 The {0} field is not a valid e-mail address. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string EmailAddressValidator_ValidationError {
|
||||
get {
|
||||
@@ -204,7 +205,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} does not end with the string '{1}'..
|
||||
/// 查找类似 The field {0} does not end with the string '{1}'. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string EndsWithValidator_ValidationError {
|
||||
get {
|
||||
@@ -213,7 +214,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be equal to '{1}'..
|
||||
/// 查找类似 The field {0} must be equal to '{1}'. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string EqualToValidator_ValidationError {
|
||||
get {
|
||||
@@ -222,7 +223,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be greater than or equal to '{1}'..
|
||||
/// 查找类似 The field {0} must be greater than or equal to '{1}'. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string GreaterThanOrEqualToValidator_ValidationError {
|
||||
get {
|
||||
@@ -231,7 +232,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be greater than '{1}'..
|
||||
/// 查找类似 The field {0} must be greater than '{1}'. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string GreaterThanValidator_ValidationError {
|
||||
get {
|
||||
@@ -240,7 +241,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} is not a valid Id card number format..
|
||||
/// 查找类似 The field {0} is not a valid Id card number format. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string IDCardValidator_ValidationError {
|
||||
get {
|
||||
@@ -249,7 +250,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The {0} field must be a valid JSON object or array..
|
||||
/// 查找类似 The {0} field must be a valid JSON object or array. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string JsonValidator_ValidationError {
|
||||
get {
|
||||
@@ -258,7 +259,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be a string or collection type with a minimum length of '{1}' and maximum length of '{2}'..
|
||||
/// 查找类似 The field {0} must be a string or collection type with a minimum length of '{1}' and maximum length of '{2}'. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string LengthValidator_ValidationError {
|
||||
get {
|
||||
@@ -267,7 +268,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be less than or equal to '{1}'..
|
||||
/// 查找类似 The field {0} must be less than or equal to '{1}'. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string LessThanOrEqualToValidator_ValidationError {
|
||||
get {
|
||||
@@ -276,7 +277,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be less than '{1}'..
|
||||
/// 查找类似 The field {0} must be less than '{1}'. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string LessThanValidator_ValidationError {
|
||||
get {
|
||||
@@ -285,7 +286,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be a string or array type with a maximum length of '{1}'..
|
||||
/// 查找类似 The field {0} must be a string or array type with a maximum length of '{1}'. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string MaxLengthValidator_ValidationError {
|
||||
get {
|
||||
@@ -294,7 +295,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be less than or equal to '{1}'..
|
||||
/// 查找类似 The field {0} must be less than or equal to '{1}'. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string MaxValidator_ValidationError {
|
||||
get {
|
||||
@@ -303,7 +304,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} is not a valid MD5 string..
|
||||
/// 查找类似 The field {0} is not a valid MD5 string. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string MD5StringValidator_ValidationError {
|
||||
get {
|
||||
@@ -312,7 +313,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be a string or array type with a minimum length of '{1}'..
|
||||
/// 查找类似 The field {0} must be a string or array type with a minimum length of '{1}'. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string MinLengthValidator_ValidationError {
|
||||
get {
|
||||
@@ -321,7 +322,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be greater than or equal to '{1}'..
|
||||
/// 查找类似 The field {0} must be greater than or equal to '{1}'. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string MinValidator_ValidationError {
|
||||
get {
|
||||
@@ -330,7 +331,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} cannot be empty or whitespace..
|
||||
/// 查找类似 The field {0} cannot be empty or whitespace. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string NotBlankValidator_ValidationError {
|
||||
get {
|
||||
@@ -339,7 +340,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} does not allow empty values..
|
||||
/// 查找类似 The field {0} does not allow empty values. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string NotEmptyValidator_ValidationError {
|
||||
get {
|
||||
@@ -348,7 +349,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} cannot be equal to '{1}'..
|
||||
/// 查找类似 The field {0} cannot be equal to '{1}'. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string NotEqualToValidator_ValidationError {
|
||||
get {
|
||||
@@ -357,7 +358,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} does not allow null values..
|
||||
/// 查找类似 The field {0} does not allow null values. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string NotNullValidator_ValidationError {
|
||||
get {
|
||||
@@ -366,7 +367,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} has an invalid password format. It must be 8 to 64 characters long and contain at least one letter and one number..
|
||||
/// 查找类似 The field {0} has an invalid password format. It must be 8 to 64 characters long and contain at least one letter and one number. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string PasswordValidator_ValidationError {
|
||||
get {
|
||||
@@ -375,7 +376,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} has an invalid password format. It must be 12 to 64 characters long and contain uppercase letters, lowercase letters, numbers, and special characters..
|
||||
/// 查找类似 The field {0} has an invalid password format. It must be 12 to 64 characters long and contain uppercase letters, lowercase letters, numbers, and special characters. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string PasswordValidator_ValidationError_Strong {
|
||||
get {
|
||||
@@ -384,7 +385,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} is not a valid phone number..
|
||||
/// 查找类似 The field {0} is not a valid phone number. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string PhoneNumberValidator_ValidationError {
|
||||
get {
|
||||
@@ -393,7 +394,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} is not a valid postal code..
|
||||
/// 查找类似 The field {0} is not a valid postal code. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string PostalCodeValidator_ValidationError {
|
||||
get {
|
||||
@@ -402,7 +403,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be between '{1}' and '{2}'..
|
||||
/// 查找类似 The field {0} must be between '{1}' and '{2}'. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string RangeValidator_ValidationError {
|
||||
get {
|
||||
@@ -411,7 +412,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be between '{1}' and '{2}' exclusive..
|
||||
/// 查找类似 The field {0} must be between '{1}' and '{2}' exclusive. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string RangeValidator_ValidationError_MaxExclusive {
|
||||
get {
|
||||
@@ -420,7 +421,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be between '{1}' exclusive and '{2}'..
|
||||
/// 查找类似 The field {0} must be between '{1}' exclusive and '{2}'. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string RangeValidator_ValidationError_MinExclusive {
|
||||
get {
|
||||
@@ -429,7 +430,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be between '{1}' exclusive and '{2}' exclusive..
|
||||
/// 查找类似 The field {0} must be between '{1}' exclusive and '{2}' exclusive. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string RangeValidator_ValidationError_MinExclusive_MaxExclusive {
|
||||
get {
|
||||
@@ -438,7 +439,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must match the regular expression '{1}'..
|
||||
/// 查找类似 The field {0} must match the regular expression '{1}'. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string RegularExpressionValidator_ValidationError {
|
||||
get {
|
||||
@@ -447,7 +448,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The {0} field is required..
|
||||
/// 查找类似 The {0} field is required. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string RequiredValidator_ValidationError {
|
||||
get {
|
||||
@@ -456,7 +457,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} only allows a single item..
|
||||
/// 查找类似 The field {0} only allows a single item. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string SingleValidator_ValidationError {
|
||||
get {
|
||||
@@ -465,7 +466,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} does not start with the string '{1}'..
|
||||
/// 查找类似 The field {0} does not start with the string '{1}'. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string StartsWithValidator_ValidationError {
|
||||
get {
|
||||
@@ -474,7 +475,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} does not contain the string '{1}'..
|
||||
/// 查找类似 The field {0} does not contain the string '{1}'. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string StringContainsValidator_ValidationError {
|
||||
get {
|
||||
@@ -483,7 +484,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be a string with a maximum length of '{1}'..
|
||||
/// 查找类似 The field {0} must be a string with a maximum length of '{1}'. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string StringLengthValidator_ValidationError {
|
||||
get {
|
||||
@@ -492,7 +493,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be a string with a minimum length of '{2}' and a maximum length of '{1}'..
|
||||
/// 查找类似 The field {0} must be a string with a minimum length of '{2}' and a maximum length of '{1}'. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string StringLengthValidator_ValidationError_MinimumLength {
|
||||
get {
|
||||
@@ -501,7 +502,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} is not a valid telephone..
|
||||
/// 查找类似 The field {0} is not a valid telephone. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string TelephoneValidator_ValidationError {
|
||||
get {
|
||||
@@ -510,7 +511,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be a valid time..
|
||||
/// 查找类似 The field {0} must be a valid time. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string TimeOnlyValidator_ValidationError {
|
||||
get {
|
||||
@@ -519,7 +520,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be a valid time in the following format(s): {1}..
|
||||
/// 查找类似 The field {0} must be a valid time in the following format(s): {1}. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string TimeOnlyValidator_ValidationError_Formats {
|
||||
get {
|
||||
@@ -528,7 +529,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The {0} field is not a valid fully-qualified http, https URL..
|
||||
/// 查找类似 The {0} field is not a valid fully-qualified http, https URL. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string UrlValidator_ValidationError {
|
||||
get {
|
||||
@@ -537,7 +538,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The {0} field is not a valid fully-qualified http, https, or ftp URL..
|
||||
/// 查找类似 The {0} field is not a valid fully-qualified http, https, or ftp URL. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string UrlValidator_ValidationError_SupportsFtp {
|
||||
get {
|
||||
@@ -546,7 +547,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} is not a valid username..
|
||||
/// 查找类似 The field {0} is not a valid username. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string UserNameValidator_ValidationError {
|
||||
get {
|
||||
@@ -555,7 +556,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} is invalid..
|
||||
/// 查找类似 The field {0} is invalid. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string ValidatorBase_ValidationError {
|
||||
get {
|
||||
|
||||
@@ -35,4 +35,20 @@
|
||||
<None Include="readme.txt" pack="true" PackagePath="." />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Update="V5_Experience\Validation\Resources\ValidationMessages.Designer.cs">
|
||||
<DesignTime>True</DesignTime>
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>ValidationMessages.resx</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Update="V5_Experience\Validation\Resources\ValidationMessages.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>ValidationMessages.Designer.cs</LastGenOutput>
|
||||
<CustomToolNamespace>Furion.Validation.Resources</CustomToolNamespace>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -29,14 +29,14 @@ namespace Furion.Schedule;
|
||||
/// 指定具体时间触发的一次性作业触发器特性
|
||||
/// </summary>
|
||||
[SuppressSniffer, AttributeUsage(AttributeTargets.Class, AllowMultiple = true)]
|
||||
public class DateTimeAttribute : TriggerAttribute
|
||||
public class AtAttribute : TriggerAttribute
|
||||
{
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
/// <param name="triggerTime">触发时间</param>
|
||||
public DateTimeAttribute(string triggerTime)
|
||||
: base(typeof(DateTimeTrigger)
|
||||
public AtAttribute(string triggerTime)
|
||||
: base(typeof(AtTrigger)
|
||||
, triggerTime)
|
||||
{
|
||||
}
|
||||
@@ -77,9 +77,9 @@ public sealed partial class TriggerBuilder : Trigger
|
||||
/// </summary>
|
||||
/// <param name="triggerTime">触发时间</param>
|
||||
/// <returns><see cref="TriggerBuilder"/></returns>
|
||||
public static TriggerBuilder DateTime(DateTime triggerTime)
|
||||
public static TriggerBuilder At(DateTime triggerTime)
|
||||
{
|
||||
return DateTime(triggerTime.ToString());
|
||||
return At(triggerTime.ToString());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -87,9 +87,9 @@ public sealed partial class TriggerBuilder : Trigger
|
||||
/// </summary>
|
||||
/// <param name="triggerTime">触发时间</param>
|
||||
/// <returns><see cref="TriggerBuilder"/></returns>
|
||||
public static TriggerBuilder DateTime(string triggerTime)
|
||||
public static TriggerBuilder At(string triggerTime)
|
||||
{
|
||||
return Create<DateTimeTrigger>(triggerTime);
|
||||
return Create<AtTrigger>(triggerTime);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -28,13 +28,13 @@ namespace Furion.Schedule;
|
||||
/// <summary>
|
||||
/// 指定具体时间触发的一次性作业触发器
|
||||
/// </summary>
|
||||
public class DateTimeTrigger : Trigger
|
||||
public class AtTrigger : Trigger
|
||||
{
|
||||
/// <summary>
|
||||
/// 构造函数
|
||||
/// </summary>
|
||||
/// <param name="triggerTime">触发时间</param>
|
||||
public DateTimeTrigger(string triggerTime)
|
||||
public AtTrigger(string triggerTime)
|
||||
{
|
||||
TriggerTime = Convert.ToDateTime(triggerTime);
|
||||
}
|
||||
@@ -356,9 +356,9 @@ public static class Triggers
|
||||
/// </summary>
|
||||
/// <param name="triggerTime">触发时间</param>
|
||||
/// <returns><see cref="TriggerBuilder"/></returns>
|
||||
public static TriggerBuilder DateTime(DateTime triggerTime)
|
||||
public static TriggerBuilder At(DateTime triggerTime)
|
||||
{
|
||||
return TriggerBuilder.DateTime(triggerTime);
|
||||
return TriggerBuilder.At(triggerTime);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -366,8 +366,8 @@ public static class Triggers
|
||||
/// </summary>
|
||||
/// <param name="triggerTime">触发时间</param>
|
||||
/// <returns><see cref="TriggerBuilder"/></returns>
|
||||
public static TriggerBuilder DateTime(string triggerTime)
|
||||
public static TriggerBuilder At(string triggerTime)
|
||||
{
|
||||
return TriggerBuilder.DateTime(triggerTime);
|
||||
return TriggerBuilder.At(triggerTime);
|
||||
}
|
||||
}
|
||||
@@ -525,6 +525,21 @@ public abstract class FluentValidatorBuilder<T, TSelf> where TSelf
|
||||
public TSelf MustUnless(Func<T?, bool> condition) =>
|
||||
AddValidator(new MustUnlessValidator<T>(condition));
|
||||
|
||||
/// <summary>
|
||||
/// 添加自定义条件不成立时委托验证器
|
||||
/// </summary>
|
||||
/// <param name="condition">条件委托</param>
|
||||
/// <returns>
|
||||
/// <typeparamref name="TSelf" />
|
||||
/// </returns>
|
||||
public TSelf MustUnlessUseServices(Func<T?, IServiceProvider?, bool> condition)
|
||||
{
|
||||
// 空检查
|
||||
ArgumentNullException.ThrowIfNull(condition);
|
||||
|
||||
return AddValidator(new MustUnlessValidator<T>(u => condition(u, _serviceProvider)));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 添加自定义条件成立时委托验证器
|
||||
/// </summary>
|
||||
@@ -534,6 +549,21 @@ public abstract class FluentValidatorBuilder<T, TSelf> where TSelf
|
||||
/// </returns>
|
||||
public TSelf Must(Func<T?, bool> condition) => AddValidator(new MustValidator<T>(condition));
|
||||
|
||||
/// <summary>
|
||||
/// 添加自定义条件成立时委托验证器
|
||||
/// </summary>
|
||||
/// <param name="condition">条件委托</param>
|
||||
/// <returns>
|
||||
/// <typeparamref name="TSelf" />
|
||||
/// </returns>
|
||||
public TSelf MustUseServices(Func<T?, IServiceProvider?, bool> condition)
|
||||
{
|
||||
// 空检查
|
||||
ArgumentNullException.ThrowIfNull(condition);
|
||||
|
||||
return AddValidator(new MustValidator<T>(u => condition(u, _serviceProvider)));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 添加非空白字符串验证器
|
||||
/// </summary>
|
||||
@@ -601,6 +631,21 @@ public abstract class FluentValidatorBuilder<T, TSelf> where TSelf
|
||||
/// </returns>
|
||||
public TSelf Predicate(Func<T?, bool> condition) => AddValidator(new PredicateValidator<T>(condition));
|
||||
|
||||
/// <summary>
|
||||
/// 添加自定义条件成立时委托验证器
|
||||
/// </summary>
|
||||
/// <param name="condition">条件委托</param>
|
||||
/// <returns>
|
||||
/// <typeparamref name="TSelf" />
|
||||
/// </returns>
|
||||
public TSelf PredicateUseServices(Func<T?, IServiceProvider?, bool> condition)
|
||||
{
|
||||
// 空检查
|
||||
ArgumentNullException.ThrowIfNull(condition);
|
||||
|
||||
return AddValidator(new PredicateValidator<T>(u => condition(u, _serviceProvider)));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 添加指定数值范围约束验证器
|
||||
/// </summary>
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
// ------------------------------------------------------------------------
|
||||
// 版权信息
|
||||
// 版权归百小僧及百签科技(广东)有限公司所有。
|
||||
// 所有权利保留。
|
||||
// 官方网站: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>
|
||||
internal static class Constants
|
||||
{
|
||||
/// <summary>
|
||||
/// 规则集列表键
|
||||
/// </summary>
|
||||
/// <remarks>被用于从 <see cref="ValidationContext" /> 的 <c>Items</c> 属性中读取。</remarks>
|
||||
internal const string RULESETS_KEY = "__VALIDATION_RULESETS__";
|
||||
}
|
||||
@@ -59,13 +59,12 @@ public static class ValidationExtensions
|
||||
/// <see cref="ValidationContext" />
|
||||
/// </param>
|
||||
/// <param name="configure">自定义配置委托</param>
|
||||
/// <param name="ruleSets">规则集列表</param>
|
||||
/// <typeparam name="T">对象类型</typeparam>
|
||||
/// <returns>
|
||||
/// <see cref="IEnumerable{T}" />
|
||||
/// </returns>
|
||||
public static IEnumerable<ValidationResult> ValidateObject<T>(this ValidationContext validationContext,
|
||||
Action<ObjectValidator<T>>? configure = null, params string?[] ruleSets)
|
||||
Action<ObjectValidator<T>>? configure = null)
|
||||
where T : class
|
||||
{
|
||||
// 空检查
|
||||
@@ -81,6 +80,13 @@ public static class ValidationExtensions
|
||||
// 调用自定义配置委托
|
||||
configure?.Invoke(objectValidator);
|
||||
|
||||
// 尝试从 Items 中解析规则集列表
|
||||
string?[]? ruleSets = null;
|
||||
if (validationContext.Items.TryGetValue(Constants.RULESETS_KEY, out var ruleSetsObj))
|
||||
{
|
||||
ruleSets = ruleSetsObj as string?[] ?? (ruleSetsObj is string ruleSet ? [ruleSet] : null);
|
||||
}
|
||||
|
||||
// 获取对象验证结果集合
|
||||
return objectValidator.GetValidationResults((T)validationContext.ObjectInstance, ruleSets) ?? [];
|
||||
}
|
||||
|
||||
@@ -530,6 +530,4 @@ public class ObjectValidator<T> : IObjectValidator<T>, IDisposable
|
||||
_annotationValidator.ValidateAllProperties = Options.ValidateAllProperties;
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: 这里还未提供解析服务的处理,是提供 GetService<T> 还是 ServiceProvider
|
||||
}
|
||||
@@ -176,6 +176,22 @@ public sealed partial class PropertyValidator<T, TProperty> where T : class
|
||||
[new Func<TProperty?, bool>(u => condition(instance, u))]);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 添加自定义条件不成立时委托验证器
|
||||
/// </summary>
|
||||
/// <param name="condition">条件委托</param>
|
||||
/// <returns>
|
||||
/// <see cref="PropertyValidator{T,TProperty}" />
|
||||
/// </returns>
|
||||
public PropertyValidator<T, TProperty> MustUnlessUseServices(Func<T, TProperty?, IServiceProvider?, bool> condition)
|
||||
{
|
||||
// 空检查
|
||||
ArgumentNullException.ThrowIfNull(condition);
|
||||
|
||||
return ValidatorProxy<MustUnlessValidator<TProperty>>(instance =>
|
||||
[new Func<TProperty?, bool>(u => condition(instance, u, _serviceProvider))]);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 添加自定义条件成立时委托验证器
|
||||
/// </summary>
|
||||
@@ -192,6 +208,22 @@ public sealed partial class PropertyValidator<T, TProperty> where T : class
|
||||
[new Func<TProperty?, bool>(u => condition(instance, u))]);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 添加自定义条件成立时委托验证器
|
||||
/// </summary>
|
||||
/// <param name="condition">条件委托</param>
|
||||
/// <returns>
|
||||
/// <see cref="PropertyValidator{T,TProperty}" />
|
||||
/// </returns>
|
||||
public PropertyValidator<T, TProperty> MustUseServices(Func<T, TProperty?, IServiceProvider?, bool> condition)
|
||||
{
|
||||
// 空检查
|
||||
ArgumentNullException.ThrowIfNull(condition);
|
||||
|
||||
return ValidatorProxy<MustValidator<TProperty>>(instance =>
|
||||
[new Func<TProperty?, bool>(u => condition(instance, u, _serviceProvider))]);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 添加不相等验证器
|
||||
/// </summary>
|
||||
@@ -223,6 +255,22 @@ public sealed partial class PropertyValidator<T, TProperty> where T : class
|
||||
[new Func<TProperty?, bool>(u => condition(instance, u))]);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 添加自定义条件成立时委托验证器
|
||||
/// </summary>
|
||||
/// <param name="condition">条件委托</param>
|
||||
/// <returns>
|
||||
/// <see cref="PropertyValidator{T,TProperty}" />
|
||||
/// </returns>
|
||||
public PropertyValidator<T, TProperty> PredicateUseServices(Func<T, TProperty?, IServiceProvider?, bool> condition)
|
||||
{
|
||||
// 空检查
|
||||
ArgumentNullException.ThrowIfNull(condition);
|
||||
|
||||
return ValidatorProxy<PredicateValidator<TProperty>>(instance =>
|
||||
[new Func<TProperty?, bool>(u => condition(instance, u, _serviceProvider))]);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 添加验证器代理
|
||||
/// </summary>
|
||||
@@ -330,12 +378,4 @@ public sealed partial class PropertyValidator<T, TProperty> where T : class
|
||||
/// </returns>
|
||||
public ObjectValidator<T> RuleSet(string?[]? ruleSets, Action<ObjectValidator<T>> setAction) =>
|
||||
_objectValidator.RuleSet(ruleSets, setAction);
|
||||
|
||||
// TODO: 考虑支持解析服务的的拓展,比如先解析服务,满足某种添加再操作,另外是否考虑数据验证中,比如是否大于某个值,而这个值是通过服务解析出来的!
|
||||
|
||||
// TODO: Func<T, bool> 改为 Func<ValidationContext, bool>,因为里面可能还会解析服务
|
||||
|
||||
// TODO: IServiceProvider 还没用上,还有 ValidationContent 也是
|
||||
|
||||
// TODO: MustUseServices:解析服务的验证器
|
||||
}
|
||||
@@ -1,9 +1,10 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// 此代码由工具生成。
|
||||
// 运行时版本:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
@@ -12,13 +13,13 @@ namespace Furion.Validation.Resources {
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||
/// 一个强类型的资源类,用于查找本地化的字符串等。
|
||||
/// </summary>
|
||||
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||
// class via a tool like ResGen or Visual Studio.
|
||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
// with the /str option, or rebuild your VS project.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||
// 此类是由 StronglyTypedResourceBuilder
|
||||
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
|
||||
// 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
|
||||
// (以 /str 作为命令选项),或重新生成 VS 项目。
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "18.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class ValidationMessages {
|
||||
@@ -32,13 +33,13 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the cached ResourceManager instance used by this class.
|
||||
/// 返回此类使用的缓存的 ResourceManager 实例。
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Furion.Validation.Resources.ValidationMessages", typeof(ValidationMessages).Assembly);
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Furion.V5_Experience.Validation.Resources.ValidationMessages", typeof(ValidationMessages).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
@@ -46,8 +47,8 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overrides the current thread's CurrentUICulture property for all
|
||||
/// resource lookups using this strongly typed resource class.
|
||||
/// 重写当前线程的 CurrentUICulture 属性,对
|
||||
/// 使用此强类型资源类的所有资源查找执行重写。
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture {
|
||||
@@ -60,7 +61,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} is not a valid age..
|
||||
/// 查找类似 The field {0} is not a valid age. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string AgeValidator_ValidationError {
|
||||
get {
|
||||
@@ -69,7 +70,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be at least 18 years old..
|
||||
/// 查找类似 The field {0} must be at least 18 years old. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string AgeValidator_ValidationError_IsAdultOnly {
|
||||
get {
|
||||
@@ -78,7 +79,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The {0} field does not equal any of the values specified in AllowedValuesValidator..
|
||||
/// 查找类似 The {0} field does not equal any of the values specified in AllowedValuesValidator. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string AllowedValuesValidator_ValidationError {
|
||||
get {
|
||||
@@ -87,7 +88,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} is not a valid bank card number..
|
||||
/// 查找类似 The field {0} is not a valid bank card number. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string BankCardValidator_ValidationError {
|
||||
get {
|
||||
@@ -96,7 +97,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The {0} field is not a valid Base64 encoding..
|
||||
/// 查找类似 The {0} field is not a valid Base64 encoding. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string Base64StringValidator_ValidationError {
|
||||
get {
|
||||
@@ -105,7 +106,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} is not a valid Chinese name..
|
||||
/// 查找类似 The field {0} is not a valid Chinese name. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string ChineseNameValidator_ValidationError {
|
||||
get {
|
||||
@@ -114,7 +115,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} contains invalid Chinese characters..
|
||||
/// 查找类似 The field {0} contains invalid Chinese characters. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string ChineseValidator_ValidationError {
|
||||
get {
|
||||
@@ -123,7 +124,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} is not a valid color value..
|
||||
/// 查找类似 The field {0} is not a valid color value. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string ColorValueValidator_ValidationError {
|
||||
get {
|
||||
@@ -132,7 +133,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be a valid date..
|
||||
/// 查找类似 The field {0} must be a valid date. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string DateOnlyValidator_ValidationError {
|
||||
get {
|
||||
@@ -141,7 +142,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be a valid date in the following format(s): {1}..
|
||||
/// 查找类似 The field {0} must be a valid date in the following format(s): {1}. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string DateOnlyValidator_ValidationError_Formats {
|
||||
get {
|
||||
@@ -150,7 +151,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be a valid datetime..
|
||||
/// 查找类似 The field {0} must be a valid datetime. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string DateTimeValidator_ValidationError {
|
||||
get {
|
||||
@@ -159,7 +160,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be a valid datetime in the following format(s): {1}..
|
||||
/// 查找类似 The field {0} must be a valid datetime in the following format(s): {1}. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string DateTimeValidator_ValidationError_Formats {
|
||||
get {
|
||||
@@ -168,7 +169,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must not have more than '{1}' decimal places..
|
||||
/// 查找类似 The field {0} must not have more than '{1}' decimal places. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string DecimalPlacesValidator_ValidationError {
|
||||
get {
|
||||
@@ -177,7 +178,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The {0} field equals one of the values specified in DeniedValuesValidator..
|
||||
/// 查找类似 The {0} field equals one of the values specified in DeniedValuesValidator. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string DeniedValuesValidator_ValidationError {
|
||||
get {
|
||||
@@ -186,7 +187,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} is not a valid domain name..
|
||||
/// 查找类似 The field {0} is not a valid domain name. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string DomainValidator_ValidationError {
|
||||
get {
|
||||
@@ -195,7 +196,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The {0} field is not a valid e-mail address..
|
||||
/// 查找类似 The {0} field is not a valid e-mail address. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string EmailAddressValidator_ValidationError {
|
||||
get {
|
||||
@@ -204,7 +205,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} does not end with the string '{1}'..
|
||||
/// 查找类似 The field {0} does not end with the string '{1}'. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string EndsWithValidator_ValidationError {
|
||||
get {
|
||||
@@ -213,7 +214,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be equal to '{1}'..
|
||||
/// 查找类似 The field {0} must be equal to '{1}'. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string EqualToValidator_ValidationError {
|
||||
get {
|
||||
@@ -222,7 +223,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be greater than or equal to '{1}'..
|
||||
/// 查找类似 The field {0} must be greater than or equal to '{1}'. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string GreaterThanOrEqualToValidator_ValidationError {
|
||||
get {
|
||||
@@ -231,7 +232,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be greater than '{1}'..
|
||||
/// 查找类似 The field {0} must be greater than '{1}'. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string GreaterThanValidator_ValidationError {
|
||||
get {
|
||||
@@ -240,7 +241,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} is not a valid Id card number format..
|
||||
/// 查找类似 The field {0} is not a valid Id card number format. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string IDCardValidator_ValidationError {
|
||||
get {
|
||||
@@ -249,7 +250,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The {0} field must be a valid JSON object or array..
|
||||
/// 查找类似 The {0} field must be a valid JSON object or array. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string JsonValidator_ValidationError {
|
||||
get {
|
||||
@@ -258,7 +259,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be a string or collection type with a minimum length of '{1}' and maximum length of '{2}'..
|
||||
/// 查找类似 The field {0} must be a string or collection type with a minimum length of '{1}' and maximum length of '{2}'. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string LengthValidator_ValidationError {
|
||||
get {
|
||||
@@ -267,7 +268,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be less than or equal to '{1}'..
|
||||
/// 查找类似 The field {0} must be less than or equal to '{1}'. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string LessThanOrEqualToValidator_ValidationError {
|
||||
get {
|
||||
@@ -276,7 +277,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be less than '{1}'..
|
||||
/// 查找类似 The field {0} must be less than '{1}'. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string LessThanValidator_ValidationError {
|
||||
get {
|
||||
@@ -285,7 +286,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be a string or array type with a maximum length of '{1}'..
|
||||
/// 查找类似 The field {0} must be a string or array type with a maximum length of '{1}'. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string MaxLengthValidator_ValidationError {
|
||||
get {
|
||||
@@ -294,7 +295,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be less than or equal to '{1}'..
|
||||
/// 查找类似 The field {0} must be less than or equal to '{1}'. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string MaxValidator_ValidationError {
|
||||
get {
|
||||
@@ -303,7 +304,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} is not a valid MD5 string..
|
||||
/// 查找类似 The field {0} is not a valid MD5 string. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string MD5StringValidator_ValidationError {
|
||||
get {
|
||||
@@ -312,7 +313,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be a string or array type with a minimum length of '{1}'..
|
||||
/// 查找类似 The field {0} must be a string or array type with a minimum length of '{1}'. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string MinLengthValidator_ValidationError {
|
||||
get {
|
||||
@@ -321,7 +322,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be greater than or equal to '{1}'..
|
||||
/// 查找类似 The field {0} must be greater than or equal to '{1}'. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string MinValidator_ValidationError {
|
||||
get {
|
||||
@@ -330,7 +331,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} cannot be empty or whitespace..
|
||||
/// 查找类似 The field {0} cannot be empty or whitespace. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string NotBlankValidator_ValidationError {
|
||||
get {
|
||||
@@ -339,7 +340,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} does not allow empty values..
|
||||
/// 查找类似 The field {0} does not allow empty values. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string NotEmptyValidator_ValidationError {
|
||||
get {
|
||||
@@ -348,7 +349,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} cannot be equal to '{1}'..
|
||||
/// 查找类似 The field {0} cannot be equal to '{1}'. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string NotEqualToValidator_ValidationError {
|
||||
get {
|
||||
@@ -357,7 +358,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} does not allow null values..
|
||||
/// 查找类似 The field {0} does not allow null values. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string NotNullValidator_ValidationError {
|
||||
get {
|
||||
@@ -366,7 +367,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} has an invalid password format. It must be 8 to 64 characters long and contain at least one letter and one number..
|
||||
/// 查找类似 The field {0} has an invalid password format. It must be 8 to 64 characters long and contain at least one letter and one number. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string PasswordValidator_ValidationError {
|
||||
get {
|
||||
@@ -375,7 +376,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} has an invalid password format. It must be 12 to 64 characters long and contain uppercase letters, lowercase letters, numbers, and special characters..
|
||||
/// 查找类似 The field {0} has an invalid password format. It must be 12 to 64 characters long and contain uppercase letters, lowercase letters, numbers, and special characters. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string PasswordValidator_ValidationError_Strong {
|
||||
get {
|
||||
@@ -384,7 +385,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} is not a valid phone number..
|
||||
/// 查找类似 The field {0} is not a valid phone number. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string PhoneNumberValidator_ValidationError {
|
||||
get {
|
||||
@@ -393,7 +394,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} is not a valid postal code..
|
||||
/// 查找类似 The field {0} is not a valid postal code. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string PostalCodeValidator_ValidationError {
|
||||
get {
|
||||
@@ -402,7 +403,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be between '{1}' and '{2}'..
|
||||
/// 查找类似 The field {0} must be between '{1}' and '{2}'. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string RangeValidator_ValidationError {
|
||||
get {
|
||||
@@ -411,7 +412,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be between '{1}' and '{2}' exclusive..
|
||||
/// 查找类似 The field {0} must be between '{1}' and '{2}' exclusive. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string RangeValidator_ValidationError_MaxExclusive {
|
||||
get {
|
||||
@@ -420,7 +421,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be between '{1}' exclusive and '{2}'..
|
||||
/// 查找类似 The field {0} must be between '{1}' exclusive and '{2}'. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string RangeValidator_ValidationError_MinExclusive {
|
||||
get {
|
||||
@@ -429,7 +430,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be between '{1}' exclusive and '{2}' exclusive..
|
||||
/// 查找类似 The field {0} must be between '{1}' exclusive and '{2}' exclusive. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string RangeValidator_ValidationError_MinExclusive_MaxExclusive {
|
||||
get {
|
||||
@@ -438,7 +439,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must match the regular expression '{1}'..
|
||||
/// 查找类似 The field {0} must match the regular expression '{1}'. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string RegularExpressionValidator_ValidationError {
|
||||
get {
|
||||
@@ -447,7 +448,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The {0} field is required..
|
||||
/// 查找类似 The {0} field is required. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string RequiredValidator_ValidationError {
|
||||
get {
|
||||
@@ -456,7 +457,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} only allows a single item..
|
||||
/// 查找类似 The field {0} only allows a single item. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string SingleValidator_ValidationError {
|
||||
get {
|
||||
@@ -465,7 +466,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} does not start with the string '{1}'..
|
||||
/// 查找类似 The field {0} does not start with the string '{1}'. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string StartsWithValidator_ValidationError {
|
||||
get {
|
||||
@@ -474,7 +475,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} does not contain the string '{1}'..
|
||||
/// 查找类似 The field {0} does not contain the string '{1}'. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string StringContainsValidator_ValidationError {
|
||||
get {
|
||||
@@ -483,7 +484,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be a string with a maximum length of '{1}'..
|
||||
/// 查找类似 The field {0} must be a string with a maximum length of '{1}'. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string StringLengthValidator_ValidationError {
|
||||
get {
|
||||
@@ -492,7 +493,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be a string with a minimum length of '{2}' and a maximum length of '{1}'..
|
||||
/// 查找类似 The field {0} must be a string with a minimum length of '{2}' and a maximum length of '{1}'. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string StringLengthValidator_ValidationError_MinimumLength {
|
||||
get {
|
||||
@@ -501,7 +502,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} is not a valid telephone..
|
||||
/// 查找类似 The field {0} is not a valid telephone. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string TelephoneValidator_ValidationError {
|
||||
get {
|
||||
@@ -510,7 +511,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be a valid time..
|
||||
/// 查找类似 The field {0} must be a valid time. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string TimeOnlyValidator_ValidationError {
|
||||
get {
|
||||
@@ -519,7 +520,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} must be a valid time in the following format(s): {1}..
|
||||
/// 查找类似 The field {0} must be a valid time in the following format(s): {1}. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string TimeOnlyValidator_ValidationError_Formats {
|
||||
get {
|
||||
@@ -528,7 +529,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The {0} field is not a valid fully-qualified http, https URL..
|
||||
/// 查找类似 The {0} field is not a valid fully-qualified http, https URL. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string UrlValidator_ValidationError {
|
||||
get {
|
||||
@@ -537,7 +538,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The {0} field is not a valid fully-qualified http, https, or ftp URL..
|
||||
/// 查找类似 The {0} field is not a valid fully-qualified http, https, or ftp URL. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string UrlValidator_ValidationError_SupportsFtp {
|
||||
get {
|
||||
@@ -546,7 +547,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} is not a valid username..
|
||||
/// 查找类似 The field {0} is not a valid username. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string UserNameValidator_ValidationError {
|
||||
get {
|
||||
@@ -555,7 +556,7 @@ namespace Furion.Validation.Resources {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to The field {0} is invalid..
|
||||
/// 查找类似 The field {0} is invalid. 的本地化字符串。
|
||||
/// </summary>
|
||||
internal static string ValidatorBase_ValidationError {
|
||||
get {
|
||||
|
||||
@@ -4,7 +4,7 @@ using Microsoft.Extensions.Logging;
|
||||
namespace Furion.Application;
|
||||
|
||||
//[Period(10000)]
|
||||
[DateTime("2024-12-31 23:59:59")]
|
||||
[At("2024-12-31 23:59:59")]
|
||||
public class TestJob : IJob, IDisposable
|
||||
{
|
||||
private readonly ILogger<TestJob> _logger;
|
||||
|
||||
@@ -11,8 +11,8 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.9.7.216" />
|
||||
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.216" />
|
||||
<PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.9.7.217" />
|
||||
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.217" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@@ -141,7 +141,7 @@ public sealed class Startup : AppStartup
|
||||
|
||||
options.AddJob<TestJob>(builder => builder.SetTemporary(), Triggers.PeriodMinutes(1));
|
||||
|
||||
options.AddJob<TestJob>(u => u.SetIncludeAnnotations(true), Triggers.DateTime("2025-11-26 14:58:20"));
|
||||
options.AddJob<TestJob>(u => u.SetIncludeAnnotations(true), Triggers.At("2025-11-26 14:58:20"));
|
||||
});
|
||||
|
||||
// 新版本任务队列
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.0.31521.260
|
||||
# Visual Studio Version 18
|
||||
VisualStudioVersion = 18.3.11222.16 d18.3
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Furion.Application", "Furion.Application\Furion.Application.csproj", "{AB699EE9-43A8-46F2-A855-04A26DE63372}"
|
||||
EndProject
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>Furion.Template.Api</id>
|
||||
<version>4.9.7.216</version>
|
||||
<version>4.9.7.217</version>
|
||||
<description>基于 Furion 框架快速搭建 Api 多层架构模板。</description>
|
||||
<authors>百小僧</authors>
|
||||
<packageTypes>
|
||||
|
||||
@@ -12,9 +12,9 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Furion" Version="4.9.7.216" />
|
||||
<PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.9.7.216" />
|
||||
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.216" />
|
||||
<PackageReference Include="Furion" Version="4.9.7.217" />
|
||||
<PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.9.7.217" />
|
||||
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.217" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>Furion.Template.App</id>
|
||||
<version>4.9.7.216</version>
|
||||
<version>4.9.7.217</version>
|
||||
<description>基于 Furion 框架快速搭建 Mvc/Api 多层架构模板。</description>
|
||||
<authors>百小僧</authors>
|
||||
<packageTypes>
|
||||
|
||||
@@ -12,9 +12,9 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Furion" Version="4.9.7.216" />
|
||||
<PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.9.7.216" />
|
||||
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.216" />
|
||||
<PackageReference Include="Furion" Version="4.9.7.217" />
|
||||
<PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.9.7.217" />
|
||||
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.217" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>Furion.Template.Blazor.App</id>
|
||||
<version>4.9.7.216</version>
|
||||
<version>4.9.7.217</version>
|
||||
<description>基于 Furion 框架快速搭建 Blazor App 多层架构模板。</description>
|
||||
<authors>百小僧</authors>
|
||||
<packageTypes>
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Furion" Version="4.9.7.216" />
|
||||
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.216" />
|
||||
<PackageReference Include="Furion" Version="4.9.7.217" />
|
||||
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.217" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>Furion.Template.Blazor</id>
|
||||
<version>4.9.7.216</version>
|
||||
<version>4.9.7.217</version>
|
||||
<description>基于 Furion 框架快速搭建 Blazor 多层架构模板。</description>
|
||||
<authors>百小僧</authors>
|
||||
<packageTypes>
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Furion" Version="4.9.7.216" />
|
||||
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.216" />
|
||||
<PackageReference Include="Furion" Version="4.9.7.217" />
|
||||
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.217" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>Furion.Template.BlazorWithWebApi</id>
|
||||
<version>4.9.7.216</version>
|
||||
<version>4.9.7.217</version>
|
||||
<description>基于 Furion 框架快速搭建 Blazor和WebApi 多层架构模板。</description>
|
||||
<authors>百小僧</authors>
|
||||
<packageTypes>
|
||||
|
||||
@@ -12,9 +12,9 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Furion" Version="4.9.7.216" />
|
||||
<PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.9.7.216" />
|
||||
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.216" />
|
||||
<PackageReference Include="Furion" Version="4.9.7.217" />
|
||||
<PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.9.7.217" />
|
||||
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.217" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>Furion.Template.Mvc</id>
|
||||
<version>4.9.7.216</version>
|
||||
<version>4.9.7.217</version>
|
||||
<description>基于 Furion 框架快速搭建 Mvc 多层架构模板。</description>
|
||||
<authors>百小僧</authors>
|
||||
<packageTypes>
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Furion" Version="4.9.7.216" />
|
||||
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.216" />
|
||||
<PackageReference Include="Furion" Version="4.9.7.217" />
|
||||
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.217" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>Furion.Template.Razor</id>
|
||||
<version>4.9.7.216</version>
|
||||
<version>4.9.7.217</version>
|
||||
<description>基于 Furion 框架快速搭建 Razor Pages 多层架构模板。</description>
|
||||
<authors>百小僧</authors>
|
||||
<packageTypes>
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Furion" Version="4.9.7.216" />
|
||||
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.216" />
|
||||
<PackageReference Include="Furion" Version="4.9.7.217" />
|
||||
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.217" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>Furion.Template.RazorWithWebApi</id>
|
||||
<version>4.9.7.216</version>
|
||||
<version>4.9.7.217</version>
|
||||
<description>基于 Furion 框架快速搭建 RazorPages和WebApi 多层架构模板。</description>
|
||||
<authors>百小僧</authors>
|
||||
<packageTypes>
|
||||
|
||||
@@ -12,9 +12,9 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Furion" Version="4.9.7.216" />
|
||||
<PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.9.7.216" />
|
||||
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.216" />
|
||||
<PackageReference Include="Furion" Version="4.9.7.217" />
|
||||
<PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.9.7.217" />
|
||||
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.217" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>Furion.SqlSugar.Template.Api</id>
|
||||
<version>4.9.7.216</version>
|
||||
<version>4.9.7.217</version>
|
||||
<description>基于 Furion 和 SqlSugar 框架快速搭建 Api 多层架构模板。</description>
|
||||
<authors>百小僧</authors>
|
||||
<packageTypes>
|
||||
|
||||
@@ -12,9 +12,9 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.9.7.216" />
|
||||
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.216" />
|
||||
<PackageReference Include="Furion.Pure" Version="4.9.7.216" />
|
||||
<PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.9.7.217" />
|
||||
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.217" />
|
||||
<PackageReference Include="Furion.Pure" Version="4.9.7.217" />
|
||||
<PackageReference Include="SqlSugarCore" Version="5.1.4.210" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>Furion.SqlSugar.Template.App</id>
|
||||
<version>4.9.7.216</version>
|
||||
<version>4.9.7.217</version>
|
||||
<description>基于 Furion 和 SqlSugar 框架快速搭建 Mvc/Api 多层架构模板。</description>
|
||||
<authors>百小僧</authors>
|
||||
<packageTypes>
|
||||
|
||||
@@ -12,9 +12,9 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.9.7.216" />
|
||||
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.216" />
|
||||
<PackageReference Include="Furion.Pure" Version="4.9.7.216" />
|
||||
<PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.9.7.217" />
|
||||
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.217" />
|
||||
<PackageReference Include="Furion.Pure" Version="4.9.7.217" />
|
||||
<PackageReference Include="SqlSugarCore" Version="5.1.4.210" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>Furion.SqlSugar.Template.Blazor.App</id>
|
||||
<version>4.9.7.216</version>
|
||||
<version>4.9.7.217</version>
|
||||
<description>基于 Furion 和 SqlSugar 框架快速搭建 Blazor App 多层架构模板。</description>
|
||||
<authors>百小僧</authors>
|
||||
<packageTypes>
|
||||
|
||||
@@ -7,9 +7,9 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Furion.Pure" Version="4.9.7.216" />
|
||||
<PackageReference Include="Furion.Pure" Version="4.9.7.217" />
|
||||
<PackageReference Include="SqlSugarCore" Version="5.1.4.210" />
|
||||
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.216" />
|
||||
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.217" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>Furion.SqlSugar.Template.Blazor</id>
|
||||
<version>4.9.7.216</version>
|
||||
<version>4.9.7.217</version>
|
||||
<description>基于 Furion 和 SqlSugar 框架快速搭建 Blazor 多层架构模板。</description>
|
||||
<authors>百小僧</authors>
|
||||
<packageTypes>
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.216" />
|
||||
<PackageReference Include="Furion.Pure" Version="4.9.7.216" />
|
||||
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.217" />
|
||||
<PackageReference Include="Furion.Pure" Version="4.9.7.217" />
|
||||
<PackageReference Include="SqlSugarCore" Version="5.1.4.210" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>Furion.SqlSugar.Template.BlazorWithWebApi</id>
|
||||
<version>4.9.7.216</version>
|
||||
<version>4.9.7.217</version>
|
||||
<description>基于 Furion 和 SqlSugar 框架快速搭建 Blazor和WebApi 多层架构模板。</description>
|
||||
<authors>百小僧</authors>
|
||||
<packageTypes>
|
||||
|
||||
@@ -12,9 +12,9 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.9.7.216" />
|
||||
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.216" />
|
||||
<PackageReference Include="Furion.Pure" Version="4.9.7.216" />
|
||||
<PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.9.7.217" />
|
||||
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.217" />
|
||||
<PackageReference Include="Furion.Pure" Version="4.9.7.217" />
|
||||
<PackageReference Include="SqlSugarCore" Version="5.1.4.210" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>Furion.SqlSugar.Template.Mvc</id>
|
||||
<version>4.9.7.216</version>
|
||||
<version>4.9.7.217</version>
|
||||
<description>基于 Furion 和 SqlSugar 框架快速搭建 Mvc 多层架构模板。</description>
|
||||
<authors>百小僧</authors>
|
||||
<packageTypes>
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.216" />
|
||||
<PackageReference Include="Furion.Pure" Version="4.9.7.216" />
|
||||
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.217" />
|
||||
<PackageReference Include="Furion.Pure" Version="4.9.7.217" />
|
||||
<PackageReference Include="SqlSugarCore" Version="5.1.4.210" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>Furion.SqlSugar.Template.Razor</id>
|
||||
<version>4.9.7.216</version>
|
||||
<version>4.9.7.217</version>
|
||||
<description>基于 Furion 和 SqlSugar 框架快速搭建 Razor Pages 多层架构模板。</description>
|
||||
<authors>百小僧</authors>
|
||||
<packageTypes>
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.216" />
|
||||
<PackageReference Include="Furion.Pure" Version="4.9.7.216" />
|
||||
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.217" />
|
||||
<PackageReference Include="Furion.Pure" Version="4.9.7.217" />
|
||||
<PackageReference Include="SqlSugarCore" Version="5.1.4.210" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>Furion.SqlSugar.Template.RazorWithWebApi</id>
|
||||
<version>4.9.7.216</version>
|
||||
<version>4.9.7.217</version>
|
||||
<description>基于 Furion 和 SqlSugar 框架快速搭建 RazorPages和WebApi 多层架构模板。</description>
|
||||
<authors>百小僧</authors>
|
||||
<packageTypes>
|
||||
|
||||
@@ -12,9 +12,9 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.9.7.216" />
|
||||
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.216" />
|
||||
<PackageReference Include="Furion.Pure" Version="4.9.7.216" />
|
||||
<PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.9.7.217" />
|
||||
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.217" />
|
||||
<PackageReference Include="Furion.Pure" Version="4.9.7.217" />
|
||||
<PackageReference Include="SqlSugarCore" Version="5.1.4.210" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<PropertyGroup>
|
||||
<LangVersion>preview</LangVersion>
|
||||
<TargetFrameworks>net8.0;net9.0;net10.0</TargetFrameworks>
|
||||
<Version>4.9.7.216</Version>
|
||||
<Version>4.9.7.217</Version>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<!--<Nullable>enable</Nullable>-->
|
||||
<Authors>百小僧</Authors>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Furion.Tools.CommandLine" Version="4.9.7.216" />
|
||||
<PackageReference Include="Furion.Tools.CommandLine" Version="4.9.7.217" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -96,7 +96,7 @@ function AddXmlCommentsToProperties($content, $commentsDictionary) {
|
||||
return $modifiedContent
|
||||
}
|
||||
|
||||
$FurTools = "Furion Tools v4.9.7.216";
|
||||
$FurTools = "Furion Tools v4.9.7.217";
|
||||
|
||||
# 输出信息
|
||||
$copyright = @"
|
||||
|
||||
Reference in New Issue
Block a user