问题标签 [blazor-editform]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
173 浏览

blazor - Blazor 编辑窗体

需要帮助:

如何使用 EditForm,如何验证字段,以及如何将表单数据发布到 Web Api,以将其保存在数据库中。

我知道如果我只使用“表单”,我可以为电话(“电话”)和电子邮件(“电子邮件”)设置验证类型。使用 EditForm 是否有等效的验证器,如果没有,你能给我一个例子吗?我是否需要在我的 @code 中有一个函数来执行此操作(通过按钮单击),然后如果验证正常调用异步过程 InvokeGetQuote?

谢谢是提前。

0 投票
1 回答
248 浏览

javascript - 防止服务器端 Blazor 在 EditForm 中触发 onsubmit

当我在输入字段中按 Enter 时,我想阻止服务器端 Blazor 触发 EditForm 的 OnSubmit 事件处理程序(由于其他一些原因我无法摆脱)。这似乎是一件容易的事,我就是无法解决。我编了一个我能想到的最小的例子:

_Index.razor:

CModel 类(尽管它与问题无关):

和_Host.cshtml:

在 _Host.cshtml 中,我注册了一个新的事件处理程序keypress,并且在我调试时,在页面创建时它会真正注册。但它永远不会在按键 Enter 时触发。而且我已经尝试过欺骗这种情况,@onkeypress:preventDefault但是@onkeypress:stopPropagation当我想仅针对我的输入字段和该特定字段仅针对事件:按下 Enter。

在普通的 HTML + JS 案例中,它就像一个魅力:https ://jsfiddle.net/wmk608gh/1/

所以我最终选择了 JS Interop 解决方案并添加了脚本

到_Host.cshtml。但它似乎不起作用。我想我应该将我的脚本注册到另一个事件(而不是keypress),或者也许我已经有一个最佳实践可以在这里遵循。

任何帮助表示赞赏。

0 投票
1 回答
123 浏览

blazor - 将 TailwindCSS 表单与 Blazor EditForm 一起使用不会删除 InputText 上的样式

使用Tailwind forms时,我希望我的<InputText />元素没有样式,但它保留了文本输入的原始样式。

如果我做类似的事情,它工作正常
<input type="text" name="client_name" id="client_name" class="block w-full sm:text-sm border-gray-300 rounded-md">

<InputText />使用 TailwindCSS-forms 时如何去掉内置样式?

0 投票
0 回答
160 浏览

asynchronous - 如何在 blazor srver 中进行异步验证?

在 Blazor Server 中,我<FluentValidationValidator />用来验证表单,我也在验证器中使用 MustAsync 但是当提交表单时,会执行验证,但程序不会等待验证结束,程序会继续执行。

和我的验证人

0 投票
0 回答
150 浏览

c# - 使用带有自定义向导组件的 EditForm 时,验证消息不可见

我已经按照下面的教程如何在 Blazor Webbassembly 中创建一个简单的向导组件,到目前为止一切都很好。

https://sinclairinat0r.com/2019/12/08/creating-a-simple-wizard-component-in-blazor

但是,当我尝试将向导放入如下所示的编辑表单中时,我遇到了问题。

背后的代码

}

问题是当我单击向导中的“下一步”按钮或单击 firstStepModel.FirstName 的空“InputText”并将其留空然后单击时,“ValidationMessage”组件不会触发(或可见) firstStepModel.LastName 的“InputText”字段并在该字段旁边键入名称。

但是,当我再次在 FirstName 的“InputText”字段内单击时,键入一个名称,然后删除该名称并单击 InputText 字段外部,然后出现 ValidationMessages。

在此处输入图像描述

其余代码如下所示。

巫师剃刀

向导.razor.cs

WizardStep.razor

WizardStep.razor.cs

有谁知道代码有什么问题?

0 投票
2 回答
173 浏览

blazor - 为什么 Blazor 的 EditForm 需要两次单击提交按钮才能执行任何操作?

我创建了一个新的、干净的 Blazor WASM 项目,并将以下最小示例添加到索引页面的底部:

当我关注文本框时,写一些东西然后单击提交按钮没有任何反应。只有在第二次单击时,消息才会出现在控制台中。

这看起来像一个 blazor 错误,但有很多关于这个问题的票,它总是被证明实际上是用户代码中的错误。但是,我发现的任何解决方案或原因都不适用于这种最小的情况。

有什么我想念的吗?我会 - 显然 - 喜欢按钮不忽略第一次点击。

0 投票
1 回答
57 浏览

authentication - 控制器不执行代码(Blazor 服务器端)

我的目标创建一个简单的登录表单,以便使用 Cookie 身份验证在我的 Blazor 服务器端应用程序中对用户进行身份验证和授权。

我的问题一切正常... EditForm 将值传递给我的控制器。控制器验证用户凭据。然后运行 ​​HttpContext.SignInAsync(claims) 并返回 Ok()。但是 Cookie 没有通过,用户也没有进行身份验证。

我做了什么

1. EditForm 将用户输入传递给 ValidSubmit 上的 DisplayLoginModel()。

2. OnValidLogin 向表单控制器发送请求

3. Controller 从 displayloginModel 获取用户凭证并验证 Ok()。

4. 启动.cs

为什么控制器没有让用户登录,我错过了什么?

解决方案结构的图像如下所示:

在此处输入图像描述

0 投票
0 回答
129 浏览

blazor - Blazor 服务器中的 EditForm 标头详细信息

我是 Blazor(服务器)的新手。我看到 EditForm 对于单个模型实例的 CRUD 和验证非常有用。但是,在实现 Header-Detail 表单(例如带有可编辑内部项目列表的发票)时,我无法理解将哪个模型分配给 EditForm 的 EditContext。也就是说,我有标题模型和相关项目的模型实例(表)列表。EditForm 对那种形式不实用吗?Blazor 还有其他选择吗?

0 投票
1 回答
66 浏览

validation - 在 Blazor 中,通过 DataAnnotation 验证 InputText 后执行方法

我需要检查输入文本中输入的数据是否有效,如果有效,则执行一个方法。(由 a 验证DataAnnotation)。

我尝试过OnFieldChangedEditForm但这个在验证之前执行。

我怎么能这样做?

0 投票
1 回答
219 浏览

blazor - Blazor:如何滚动到编辑表单中的第一个错误?

我有一个包含大量字段的编辑表单。如果用户出错并尝试提交表单,他们必须手动滚动以查看错误。使用 javascript,可以执行以下操作:

在 blazor 中,如果必须,我可以使用 JS,但我不一定有要滚动到的 ID。

有没有一种好方法可以在提交时滚动到编辑表单中的第一个错误?