Blazor Razor验证消息don';无法从组件库中显示
我已经创建了blazor组件库,以便能够从应用程序调用组件,但消息验证没有显示。目前,验证是在InputText中完成的(它验证输入的格式或长度),但没有显示组件的消息或样式 组件库的代码: 自定义输入文本Blazor Razor验证消息don';无法从组件库中显示,razor,blazor,Razor,Blazor,我已经创建了blazor组件库,以便能够从应用程序调用组件,但消息验证没有显示。目前,验证是在InputText中完成的(它验证输入的格式或长度),但没有显示组件的消息或样式 组件库的代码: 自定义输入文本 @代码{ [参数] 公共字符串占位符文本{get;set;} [参数] 公共对象模型{get;set;} [参数] 公共字符串值{get;set;} [参数] public EventCallback ValueChanged{get;set;} 私有任务OnValueChanged(C
@代码{
[参数]
公共字符串占位符文本{get;set;}
[参数]
公共对象模型{get;set;}
[参数]
公共字符串值{get;set;}
[参数]
public EventCallback ValueChanged{get;set;}
私有任务OnValueChanged(ChangeEventArgs e)
{
Value=e.Value.ToString();
返回值已更改。InvokeAsync(值);
}
}
您需要将验证摘要的作为表达式传递
CustomInputText
需要如下所示:
<input value="@Value" @oninput="OnValueChanged" placeholder=@placeholderText class="form-control i-component o-my-4" />
<ValidationMessage For="@For" />
@code {
[Parameter]
public string placeholderText { get; set; }
[Parameter] public Expression<Func<string>>? For { get; set; }
[Parameter]
public string Value { get; set; }
[Parameter]
public EventCallback<string> ValueChanged { get; set; }
private Task OnValueChanged(ChangeEventArgs e)
{
Value = e.Value.ToString();
return ValueChanged.InvokeAsync(Value);
}
}
@代码{
[参数]
公共字符串占位符文本{get;set;}
[参数]公共表达式{get;set;}
[参数]
公共字符串值{get;set;}
[参数]
public EventCallback ValueChanged{get;set;}
私有任务OnValueChanged(ChangeEventArgs e)
{
Value=e.Value.ToString();
返回值已更改。InvokeAsync(值);
}
}
以及您的标记:
<CustomInputText @bind-Value="filterPayRoll.IDF" For="() => filterPayRoll.IDF" />
您需要将验证摘要的作为表达式传递
CustomInputText
需要如下所示:
<input value="@Value" @oninput="OnValueChanged" placeholder=@placeholderText class="form-control i-component o-my-4" />
<ValidationMessage For="@For" />
@code {
[Parameter]
public string placeholderText { get; set; }
[Parameter] public Expression<Func<string>>? For { get; set; }
[Parameter]
public string Value { get; set; }
[Parameter]
public EventCallback<string> ValueChanged { get; set; }
private Task OnValueChanged(ChangeEventArgs e)
{
Value = e.Value.ToString();
return ValueChanged.InvokeAsync(Value);
}
}
@代码{
[参数]
公共字符串占位符文本{get;set;}
[参数]公共表达式{get;set;}
[参数]
公共字符串值{get;set;}
[参数]
public EventCallback ValueChanged{get;set;}
私有任务OnValueChanged(ChangeEventArgs e)
{
Value=e.Value.ToString();
返回值已更改。InvokeAsync(值);
}
}
以及您的标记:
<CustomInputText @bind-Value="filterPayRoll.IDF" For="() => filterPayRoll.IDF" />
您知道如何将消息错误(.validation message)的类添加到输入文本的文本中,以便两者都以红色显示吗?我不直接使用Blazor输入控件,或者我继承的用于处理CSS更改的控件版本。如果由FieldIdentifier
标识的字段未通过验证,则可以通过调用EditContext中的valid
或invalid
来获取CSS字符串。您可以像这样创建一个FieldIdentifier
fieldidentifi=newfieldidentifier(model:model,fieldName:“fieldName”)代码>您知道如何将消息错误(.validation message)的类添加到输入文本的文本中,以便两者都以红色显示吗?不是直接的,我总是使用Blazor输入控件,或者我继承的用于处理CSS更改的控件版本。如果由FieldIdentifier
标识的字段未通过验证,则可以通过调用EditContext中的valid
或invalid
来获取CSS字符串。您可以像这样创建一个FieldIdentifier
fieldidentifi=newfieldidentifier(model:model,fieldName:“fieldName”)代码>