我目前运行预览9的.net核心3。我试图使形式的价值工作。我正在从表格和验证复制这个示例
模型
namespace BlazorListPreview9.Model
{
public class ItemModel
{
[Required]
[StringLength(10, ErrorMessage = "Name is too long.")]
public string Name { get; set; }
}
}表格
@page "/FormsValidation"
@using BlazorListPreview9.Model;
<EditForm Model="@itemModel" OnValidSubmit="@HandleValidSubmit">
<DataAnnotationsValidator />
<ValidationSummary />
<InputText id="name" @bind-Value="@itemModel.Name" />
<button type="submit">Submit</button>
</EditForm>
@code {
private ItemModel itemModel = new ItemModel();
private void HandleValidSubmit()
{
Console.WriteLine("OnValidSubmit");
}
}错误
WASM: System.InvalidOperationException:类型为“BlazorListPreview9.Components.EditForm”的对象没有与名称“BlazorListPreview9.Components.EditForm”匹配的属性。
发布于 2019-09-14 14:07:48
在‘BazorListPreview9.Components’中有一个名为EditForm的类定义吗?我想不是,对吧?
我有一种感觉,这在某种程度上与安装、包引用等有关。
请尝试这段代码并报告它是否有效:注意,您可以提供一个EditContext对象,而不是提供模型。最终结果是一样的..。
@page "/FormsValidation"
@using BlazorListPreview9.Model;
<EditForm EditContext="@editContext" OnValidSubmit="@HandleValidSubmit">
<DataAnnotationsValidator />
<ValidationSummary />
<InputText id="name" @bind-Value="@itemModel.Name" />
<button type="submit">Submit</button>
</EditForm>
@code {
private EditContext editContext;
private ItemModel itemModel = new ItemModel();
protected override void OnInitialized()
{
this.editContext = new EditContext(itemModel );
}
private void HandleValidSubmit()
{
Console.WriteLine("OnValidSubmit");
}
}希望这能帮上忙。
https://stackoverflow.com/questions/57935523
复制相似问题