Skip to content

Commit 7065ff2

Browse files
authored
feat(IValidateComponent): update ToggleMessage return value as Task (#6112)
* chore: bump version 9.7.0 * refactor: ToggleMessage 方法更改为 Task # Conflicts: # src/BootstrapBlazor/Components/Validate/IValidateComponent.cs # src/BootstrapBlazor/Components/Validate/ValidateBase.cs * refactor: 增加 await 关键字 * refactor: 更改为异步方法
1 parent a6167cd commit 7065ff2

File tree

9 files changed

+22
-19
lines changed

9 files changed

+22
-19
lines changed

src/BootstrapBlazor/BootstrapBlazor.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk.Razor">
22

33
<PropertyGroup>
4-
<Version>9.6.5-beta03</Version>
4+
<Version>9.7.0</Version>
55
</PropertyGroup>
66

77
<ItemGroup>

src/BootstrapBlazor/Components/Select/MultiSelect.razor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -454,7 +454,7 @@ private async Task SetValue()
454454
var validationResults = new List<ValidationResult>();
455455

456456
await ValidatePropertyAsync(CurrentValue, validationContext, validationResults);
457-
ToggleMessage(validationResults);
457+
await ToggleMessage(validationResults);
458458
}
459459

460460
if (OnSelectedItemsChanged != null)

src/BootstrapBlazor/Components/SelectGeneric/MultiSelectGeneric.razor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -430,7 +430,7 @@ private async Task SetValue()
430430
var validationResults = new List<ValidationResult>();
431431

432432
await ValidatePropertyAsync(CurrentValue, validationContext, validationResults);
433-
ToggleMessage(validationResults);
433+
await ToggleMessage(validationResults);
434434
}
435435

436436
if (OnSelectedItemsChanged != null)

src/BootstrapBlazor/Components/Transfer/Transfer.razor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -317,7 +317,7 @@ private async Task TransferItems(List<SelectedItem> source, List<SelectedItem> t
317317
var validationResults = new List<ValidationResult>();
318318

319319
await ValidatePropertyAsync(RightItems, validationContext, validationResults);
320-
ToggleMessage(validationResults);
320+
await ToggleMessage(validationResults);
321321
}
322322
}
323323
}

src/BootstrapBlazor/Components/Upload/InputUpload.razor.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ private async Task OnDeleteFile()
153153
/// <inheritdoc/>
154154
/// </summary>
155155
/// <param name="results"></param>
156-
public override void ToggleMessage(IEnumerable<ValidationResult> results)
156+
public override Task ToggleMessage(IReadOnlyCollection<ValidationResult> results)
157157
{
158158
if (results.Any())
159159
{
@@ -166,5 +166,6 @@ public override void ToggleMessage(IEnumerable<ValidationResult> results)
166166
IsValid = true;
167167
}
168168
OnValidate(IsValid);
169+
return Task.CompletedTask;
169170
}
170171
}

src/BootstrapBlazor/Components/Upload/UploadBase.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,10 +57,10 @@ public abstract class UploadBase<TValue> : ValidateBase<TValue>, IUpload
5757
public Func<UploadFile, Task>? OnChange { get; set; }
5858

5959
/// <summary>
60-
/// 显示/隐藏验证结果方法
60+
/// <inheritdoc/>
6161
/// </summary>
6262
/// <param name="results"></param>
63-
public override void ToggleMessage(IEnumerable<ValidationResult> results)
63+
public override Task ToggleMessage(IReadOnlyCollection<ValidationResult> results)
6464
{
6565
if (FieldIdentifier != null)
6666
{
@@ -84,6 +84,7 @@ public override void ToggleMessage(IEnumerable<ValidationResult> results)
8484
}
8585
OnValidate(IsValid);
8686
}
87+
return Task.CompletedTask;
8788
}
8889

8990
/// <summary>

src/BootstrapBlazor/Components/Validate/IValidateComponent.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,5 +33,5 @@ public interface IValidateComponent
3333
/// 显示或者隐藏提示信息方法
3434
/// </summary>
3535
/// <param name="results"></param>
36-
void ToggleMessage(IEnumerable<ValidationResult> results);
36+
Task ToggleMessage(IReadOnlyCollection<ValidationResult> results);
3737
}

src/BootstrapBlazor/Components/Validate/ValidateBase.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -460,7 +460,7 @@ private void ValidateType(ValidationContext context, List<ValidationResult> resu
460460
/// 显示/隐藏验证结果方法
461461
/// </summary>
462462
/// <param name="results"></param>
463-
public virtual void ToggleMessage(IEnumerable<ValidationResult> results)
463+
public virtual Task ToggleMessage(IReadOnlyCollection<ValidationResult> results)
464464
{
465465
if (FieldIdentifier != null)
466466
{
@@ -481,6 +481,7 @@ public virtual void ToggleMessage(IEnumerable<ValidationResult> results)
481481

482482
// 必须刷新一次 UI 保证状态正确
483483
StateHasChanged();
484+
return Task.CompletedTask;
484485
}
485486

486487
private JSModule? ValidateModule { get; set; }

src/BootstrapBlazor/Components/ValidateForm/ValidateForm.razor.cs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -169,20 +169,20 @@ internal void AddValidator((string FieldName, Type ModelType) key, (FieldIdentif
169169
/// </summary>
170170
/// <param name="expression"></param>
171171
/// <param name="errorMessage">错误描述信息,可为空,为空时查找资源文件</param>
172-
public void SetError<TModel>(Expression<Func<TModel, object?>> expression, string errorMessage)
172+
public async Task SetError<TModel>(Expression<Func<TModel, object?>> expression, string errorMessage)
173173
{
174174
switch (expression.Body)
175175
{
176176
case UnaryExpression { Operand: MemberExpression mem }:
177-
InternalSetError(mem, errorMessage);
177+
await InternalSetError(mem, errorMessage);
178178
break;
179179
case MemberExpression exp:
180-
InternalSetError(exp, errorMessage);
180+
await InternalSetError(exp, errorMessage);
181181
break;
182182
}
183183
}
184184

185-
private void InternalSetError(MemberExpression exp, string errorMessage)
185+
private async Task InternalSetError(MemberExpression exp, string errorMessage)
186186
{
187187
if (exp.Expression != null)
188188
{
@@ -198,7 +198,7 @@ private void InternalSetError(MemberExpression exp, string errorMessage)
198198
{
199199
new(errorMessage, [fieldName])
200200
};
201-
validator.ToggleMessage(results);
201+
await validator.ToggleMessage(results);
202202
}
203203
}
204204

@@ -207,15 +207,15 @@ private void InternalSetError(MemberExpression exp, string errorMessage)
207207
/// </summary>
208208
/// <param name="propertyName">字段名,可以使用多层,如 a.b.c</param>
209209
/// <param name="errorMessage">错误描述信息,可为空,为空时查找资源文件</param>
210-
public void SetError(string propertyName, string errorMessage)
210+
public async Task SetError(string propertyName, string errorMessage)
211211
{
212212
if (TryGetModelField(propertyName, out var modelType, out var fieldName) && TryGetValidator(modelType, fieldName, out var validator))
213213
{
214214
var results = new List<ValidationResult>
215215
{
216216
new(errorMessage, [fieldName])
217217
};
218-
validator.ToggleMessage(results);
218+
await validator.ToggleMessage(results);
219219
}
220220
}
221221

@@ -327,7 +327,7 @@ internal async Task ValidateObject(ValidationContext context, List<ValidationRes
327327
ValidMemberNames.RemoveAll(name => _validateResults.Values.SelectMany(i => i).Any(i => i.MemberNames.Contains(name)));
328328
foreach (var (validator, messages) in _validateResults)
329329
{
330-
validator.ToggleMessage(messages);
330+
await validator.ToggleMessage(messages);
331331
}
332332
}
333333
}
@@ -352,7 +352,7 @@ internal async Task ValidateFieldAsync(ValidationContext context, List<Validatio
352352
}
353353

354354
// 客户端提示
355-
validator.ToggleMessage(results);
355+
await validator.ToggleMessage(results);
356356
}
357357
}
358358
}
@@ -477,7 +477,7 @@ private async Task ValidateProperty(ValidationContext context, List<ValidationRe
477477
await ValidateAsync(validator, context, messages, pi, propertyValue);
478478

479479
// 客户端提示
480-
validator.ToggleMessage(messages);
480+
await validator.ToggleMessage(messages);
481481
}
482482
results.AddRange(messages);
483483
}

0 commit comments

Comments
 (0)