gpt4 book ai didi

c# - 如何以编程方式提交 Blazor 表单?

转载 作者:行者123 更新时间:2023-12-03 23:46:35 24 4
gpt4 key购买 nike

拥有 Blazor EditForm 和包含的 InputTextArea(即多行文本框),我确实想验证并提交表单,当用户按下 Ctrl+Enter 时,就像他会单击提交按钮一样。

我已经成功地像这样连接了键盘处理程序:

<EditForm Model="@myModel" Format="g" OnValidSubmit="@Store" @ref="_editForm">
<InputTextArea
onkeypress="@(async e => await myKeyPress(e))"
@bind-Value="myModel.Foo" />
<button type="submit">Store it</button>
</EditForm>

后面有这段代码:

private EditForm _editForm;

private async Task myKeyPress(KeyboardEventArgs key)
{
if (key.CtrlKey && key.Code == @"Enter")
{
_editForm.??? // What to call here?
}
}

不幸的是,我在 EditForm 类中没有看到可以调用来提交和验证表单的方法,就好像用户会单击提交按钮一样。

我看过 thisthis SO 问题,但没有成功。

我的问题

如何以编程方式提交和验证 Blazor 表单?

最佳答案

<EditForm Context=MyCurrentEditContext>
<InputTextArea
onkeypress="@(async e => await myKeyPress(MyCurrentEditContext, e))"
@bind-Value="myModel.Foo" />
<button type="submit">Store it</button>
</EditForm>

@code
{
private async Task myKeyPress(EditContext editContext, KeyboardEventArgs key)
{
if (key.CtrlKey && key.Code == @"Enter")
{
if (editContext.Validate())
{
... Do stuff if valid
}
}
}
}

关于c# - 如何以编程方式提交 Blazor 表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62359299/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com