簡體   English   中英

如何驗證 Blazor EditForm 中的單個字段?

[英]How to validate a single field in Blazor EditForm?

我從CascadingParameter獲取EditContext

[CascadingParameter]
public EditContext EditContext { get; set; }

我意識到存在一個.Validate方法,它驗證整個ModelEditForm

但我只想驗證Model的一個字段。

誰可以只驗證來自EditFormModel的一個字段?

如果您想知道為什么我想要這個...是因為我正在制作一個自定義組件,當值更改並且它是一個有效值時,它會做一些事情。

在查看Peter Morris Library時,我發現如果要驗證非復雜字段,只需創建一個FieldIdentifier並調用EditContext.NotifyFieldChanged(fieldIdentifier)觸發該字段驗證。

所以答案要簡單得多:

// Get the FieldIdentifier with the EditContext from the field name
FieldIdentifier fieldIdentifier = EditContext.Field(fieldName);

// Validate the field when notifying change
EditContext.NotifyFieldChanged(fieldIdentifier);

// To check if the field is valid, 
// check if there is any error message. 
return !EditContext.GetValidationMessages(fieldIdentifier).Any();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM