问题标签 [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.
blazor - Blazor 编辑窗体
需要帮助:
如何使用 EditForm,如何验证字段,以及如何将表单数据发布到 Web Api,以将其保存在数据库中。
我知道如果我只使用“表单”,我可以为电话(“电话”)和电子邮件(“电子邮件”)设置验证类型。使用 EditForm 是否有等效的验证器,如果没有,你能给我一个例子吗?我是否需要在我的 @code 中有一个函数来执行此操作(通过按钮单击),然后如果验证正常调用异步过程 InvokeGetQuote?
谢谢是提前。
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
),或者也许我已经有一个最佳实践可以在这里遵循。
任何帮助表示赞赏。
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 时如何去掉内置样式?
asynchronous - 如何在 blazor srver 中进行异步验证?
在 Blazor Server 中,我<FluentValidationValidator />
用来验证表单,我也在验证器中使用 MustAsync 但是当提交表单时,会执行验证,但程序不会等待验证结束,程序会继续执行。
和我的验证人
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
有谁知道代码有什么问题?
blazor - 为什么 Blazor 的 EditForm 需要两次单击提交按钮才能执行任何操作?
我创建了一个新的、干净的 Blazor WASM 项目,并将以下最小示例添加到索引页面的底部:
当我关注文本框时,写一些东西然后单击提交按钮没有任何反应。只有在第二次单击时,消息才会出现在控制台中。
这看起来像一个 blazor 错误,但有很多关于这个问题的票,它总是被证明实际上是用户代码中的错误。但是,我发现的任何解决方案或原因都不适用于这种最小的情况。
有什么我想念的吗?我会 - 显然 - 喜欢按钮不忽略第一次点击。
authentication - 控制器不执行代码(Blazor 服务器端)
我的目标创建一个简单的登录表单,以便使用 Cookie 身份验证在我的 Blazor 服务器端应用程序中对用户进行身份验证和授权。
我的问题一切正常... EditForm 将值传递给我的控制器。控制器验证用户凭据。然后运行 HttpContext.SignInAsync(claims) 并返回 Ok()。但是 Cookie 没有通过,用户也没有进行身份验证。
我做了什么
1. EditForm 将用户输入传递给 ValidSubmit 上的 DisplayLoginModel()。
2. OnValidLogin 向表单控制器发送请求
3. Controller 从 displayloginModel 获取用户凭证并验证 Ok()。
4. 启动.cs
和
为什么控制器没有让用户登录,我错过了什么?
解决方案结构的图像如下所示:
blazor - Blazor 服务器中的 EditForm 标头详细信息
我是 Blazor(服务器)的新手。我看到 EditForm 对于单个模型实例的 CRUD 和验证非常有用。但是,在实现 Header-Detail 表单(例如带有可编辑内部项目列表的发票)时,我无法理解将哪个模型分配给 EditForm 的 EditContext。也就是说,我有标题模型和相关项目的模型实例(表)列表。EditForm 对那种形式不实用吗?Blazor 还有其他选择吗?
validation - 在 Blazor 中,通过 DataAnnotation 验证 InputText 后执行方法
我需要检查输入文本中输入的数据是否有效,如果有效,则执行一个方法。(由 a 验证DataAnnotation
)。
我尝试过OnFieldChanged
,EditForm
但这个在验证之前执行。
我怎么能这样做?
blazor - Blazor:如何滚动到编辑表单中的第一个错误?
我有一个包含大量字段的编辑表单。如果用户出错并尝试提交表单,他们必须手动滚动以查看错误。使用 javascript,可以执行以下操作:
在 blazor 中,如果必须,我可以使用 JS,但我不一定有要滚动到的 ID。
有没有一种好方法可以在提交时滚动到编辑表单中的第一个错误?