Reputation: 121
How do I add a custom validation message in the SaveItem event (prefer not to use data annotations)? It should show up in the "ValidationMessage For=" context.
@using System.ComponentModel.DataAnnotations
@page "/edititem"
<EditForm Model="@model" OnSubmit="@Submit" OnValidSubmit="@SaveItem">
<DataAnnotationsValidator />
<ValidationSummary />
<InputText id="ItemName" @bind-Value="@model.ItemName" />
<ValidationMessage For="@(() => model.ItemName)" />
<button type="submit">Submit</button>
</EditForm>
@code {
ItemModel model = new ItemModel();
private void Submit()
{
}
private void SaveItem()
{
}
public class ItemModel
{
[Required]
public string ItemName{ get; set; }
}
}
Upvotes: 10
Views: 6690
Reputation: 1056
<EditForm EditContext="editContext" OnSubmit="@Submit"
OnValidSubmit="@SaveItem">
<DataAnnotationsValidator />
<ValidationSummary />
<InputText id="ItemName" @bind-Value="@model.ItemName" />
<ValidationMessage For="@(() => model.ItemName)" />
<button type="submit">Submit</button>
</EditForm>
@code {
private EditContext? editContext;
private ValidationMessageStore? messageStore;
ItemModel model = new ItemModel();
protected override void OnInitialized()
{
editContext = new EditContext(model);
messageStore = new(editContext);
}
private void Submit()
{
}
private void SaveItem()
{
messageStore.Add(() => model.ItemName, "ItemName invalid");
}
public class ItemModel
{
[Required]
public string ItemName{ get; set; }
}
}
To achieve custom validation outside data-attributes follow those 3 steps:
Upvotes: 5
Reputation: 156
You can add custom validation in server side by add some Component which contain error message. Display validation error from the server
Upvotes: 1