Quantcast
Channel: Active questions tagged blazor - Stack Overflow
Viewing all articles
Browse latest Browse all 4839

Getting Warning BL0005 when modeling data for EditForm in Blazor

$
0
0

I am doing something like this in the Blazor HTML section...

<EditForm EditContext="editContext" OnValidSubmit="SubmitQuery"><DataAnnotationsValidator /><Microsoft.AspNetCore.Components.Forms.ValidationSummary /><InputRadioGroup @bind-Value="@Model.Selection"><InputRadio Value="FindGuestDisplay.Selections[0]" /><label>@(FindGuestDisplay.Selections[0]):</label><br /><label class="fglabel">First Name:</label><InputText @bind-Value="@FirstName" style="width:300px" /><label class="fglabel">Last Name:</label><InputText @bind-Value="@LastName" style="width:300px" />

...

and in the code section I am wrapping my model setters in local properties like so....

private string FirstName { get { return Model!.FirstName ?? ""; } set { Model!.FirstName = value; } }private string LastName { get { return Model!.LastName ?? ""; } set { Model.LastName = value; } }

I did this because I get the errors throughout the whole code if I use the Model properties directly and this limits the warning to just the setters.

Note that this code works but I want to do this the right way, warning free.By the way, I am doing this almost exactly the way that Microsoft's example for using Edit form says, so how can I get rid of this error? Is there a proper alternative I should be using?

here is my model declaration within my Blazor component (not set or passed in from outside):FindGuestDisplay Model { get; set; }= new ();

the model gets passed into the editContext here:

protected override void OnInitialized(){editContext = new(Model);editContext.OnValidationRequested += HandleValidationRequested;messageStore = new(editContext);}

here is my class definition:

public class FindGuestDisplay{    [Parameter]    [StringLength(50, ErrorMessage = "Email is too long.")]    public string Email { get; set; } = "";    [Parameter]    //[Required]    [StringLength(15, ErrorMessage = "First Name is too long.")]    public string FirstName { get; set; } = "";    [Parameter]    [StringLength(25, ErrorMessage = "Last Name is too long.")]    public string LastName { get; set; } = "";    [Parameter]    [StringLength(15, ErrorMessage = "Cell Phone is too long.")]    public string CellPhone { get; set; } = "";    [Parameter]    [StringLength(15, ErrorMessage = "Home Phone is too long.")]    public string HomePhone { get; set; } = "";    [Parameter]    [StringLength(25, ErrorMessage = "Work Phone is too long.")]    public string WorkPhone { get; set; } = "";    [Parameter]    [StringLength(50, ErrorMessage = "Business Name is too long.")]    public string BusinessName { get; set; } = "";    [Parameter]    public string? BarcodeID { get; set; }    public string Selection { get; set; } = "Enter Guest Information";    public static readonly List<String> Selections =     [ "Enter Guest Information", "Find Web GuestPass", "Find Business" ];}

Any help would be appreciated. Thanks!

From my understanding, I am doing this the proper way. Is this just a bad warning?


Viewing all articles
Browse latest Browse all 4839

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>