Dil

AsyncValidationAttribute.GetValidationResultAsync Yöntem

Tanım

Verilen value değerinin geçerli doğrulama özniteliğine göre zaman uyumsuz olarak geçerli olup olmadığını bir ValidationExceptionoluşturmadan test eder.

public System.Threading.Tasks.Task<System.ComponentModel.DataAnnotations.ValidationResult?> GetValidationResultAsync(object? value, System.ComponentModel.DataAnnotations.ValidationContext validationContext, System.Threading.CancellationToken cancellationToken = default);
member this.GetValidationResultAsync : obj * System.ComponentModel.DataAnnotations.ValidationContext * System.Threading.CancellationToken -> System.Threading.Tasks.Task<System.ComponentModel.DataAnnotations.ValidationResult>
Public Function GetValidationResultAsync (value As Object, validationContext As ValidationContext, Optional cancellationToken As CancellationToken = Nothing) As Task(Of ValidationResult)

Parametreler

value
Object

Doğrulanması gereken değer.

validationContext
ValidationContext

ValidationContext Doğrulanan nesne ve üye gibi doğrulama işlemi hakkında bağlam sağlayan bir örnek. kullanarak IServiceProviderdoğrulama gerçekleştirmek için gereken hizmetlere erişim sağlar.

cancellationToken
CancellationToken

CancellationToken Görevin tamamlanmasını beklerken gözlemlemek için bir.

Döndürülenler

Task<TResult> Zaman uyumsuz doğrulama işlemini temsil eden.

Doğrulama geçerli olduğunda sonuç olur Success.

Doğrulama geçersiz olduğunda, sonuç bir örneğidir ValidationResult.

Özel durumlar

Geçerli öznitelik yanlış biçimlendirilmiş.

olduğunda validationContextnull.

Doğrulama işlemi iptal edildi.

Açıklamalar

Temel alınan IsValidAsync(Object, ValidationContext, CancellationToken) uygulama sağlananı cancellationToken gözlemlemeli ve iptal istendiğinde hemen çalışmayı durdurmalıdır. Doğrulama altyapısı, geri dönmeden önce tüm başlatılan doğrulama görevlerini bekler, bu nedenle iptali yoksayan bir uygulama başarısızlığı ve kısa devreyi geciktirebilir.

Doğrulama süresini sınırlaması gereken arayanlar, ile yapılandırılan bir belirteç gibi bir zaman aşımından sonra iptal etmek üzere yapılandırılmış CancelAfter(TimeSpan)bir CancellationTokenSource belirteç geçirmelidir.

Şunlara uygulanır