【发布时间】:2020-11-12 10:35:46
【问题描述】:
我对 Blazor 还很陌生。我正在尝试通过引用 this 页面在 EditForm 中呈现自定义组件。
但是当我提交没有值的表单时,边框颜色没有变为红色。此外,在清除输入值后提交表单时,边框不会变为红色。它保持绿色。
截图:
代码片段
NativeTextboxComponent.razor
<InputText @bind-Value="@Value" class="form-control" />
@code {
public string _Value;
[Parameter]
public string Value
{
get
{
return _Value;
}
set
{
if (_Value != value)
{
ValueChanged.InvokeAsync(value);
}
_Value = value;
}
}
[Parameter]
public EventCallback<string> ValueChanged { get; set; }
}
}
Index.razor
<EditForm Model="@model" OnInvalidSubmit="HandleValidSubmit">
<DataAnnotationsValidator />
<NativeTextBoxComponent @bind-Value="@model.NativeValue"></NativeTextBoxComponent>
<ValidationMessage For="() => model.NativeValue" />
<button type="submit">Submit</button>
</EditForm>
public class Countries
{
[Required]
public string Values { get; set; }
[Required]
public string LastName { get; set; }
[Required]
public string NativeValue { get; set; }
}
public Countries model = new Countries();
FieldCssClass 在这种情况下返回修改有效。
任何帮助将不胜感激。
【问题讨论】:
-
我不确定为什么会出现这个问题,但这种情况的首选解决方案是从 InputBase
继承而不是包装 InputText
标签: c# blazor blazor-editform