web-dev-qa-db-fra.com

Blazor bind-value: événement en entrée

J'essaie donc de déclencher la validation du modèle dans Blazor en utilisant EditForm

Pour une raison quelconque, l'événement oninput ne semble pas être appelé si vous utilisez InputText, lorsque vous utilisez un élément d'entrée simple, cela fonctionne comme prévu.

Ai-je raté quelque chose?

Voici un exemple html que j'utilise

        <EditForm Model="@Model" OnValidSubmit="@OnValidSubmit" id="authorize">
        <h1 class="mb-3">
            <span class="d-block">Authorize</span>
        </h1>
        <DataAnnotationsValidator />
        <div class="form-group">
            <label class="sr-only" for="AuthorizeUsername">Username</label>
            <div class="input-group mb-2">
                <div class="input-group-prepend">
                    <div class="input-group-text"><i class="fas fa-user"></i></div>
                </div>
                <InputText type="text" class="form-control" id="AuthorizeUsername" placeholder="Username" @bind-value="@Model.Username" @bind-value:event="oninput" />
            </div>
        </div>
        <div class="form-group">
            <label class="sr-only" for="AuthorizePassword">Password</label>
            <div class="input-group mb-2">
                <div class="input-group-prepend">
                    <div class="input-group-text"><i class="fas fa-asterisk"></i></div>
                </div>
                <InputText type="password" class="form-control" id="AuthorizePassword" placeholder="Password" @bind-value="@Model.Password" @bind-value:event="oninput" />
            </div>
        </div>
        <div class="form-group">
            <ValidationSummary />
            <button type="submit" class="btn btn-outline-primary"><i class="fas fa-sign-in-alt mr-1"></i> Login</button>
        </div>
    </EditForm>
3
NullReference

Il fonctionne sur une simple entrée car vous vous liez à l'attribut html "value".

InputText est une classe C #. Le nom de propriété auquel vous devez vous lier est Value avec un V majuscule.

Change tout @bind-value occurrences à @bind-Value et ça devrait marcher.

0
Peter Morris