Comment utiliser un contrôle d’entrée pour autoriser uniquement les nombres entiers sans décimale dans Blazor sans utiliser js ?

la programmation

[ad_1]

Je construis un formulaire de manière dynamique et j’ai besoin d’un contrôle de saisie pour accepter uniquement les nombres entiers, ce qui ne permet pas de saisir des valeurs décimales, y compris des points. mais aucune des méthodes ne me fournit un résultat précis.

Ce que j’ai essayé :

     <input type="text" class="form-control" id="@acs.CTL_NAME" @ref="@(_inputRefs[acs.SRNO - 1])" inputmode="numeric"
            @bind="bindData[acs.SRNO-1]" tabindex="@acs.TAB_INDEX" @oninput="@((ChangeEventArgs e) => HandleNumber(e,acs.SRNO-1))">

@code{
public string[] bindData; //array is initialized with null in other method which is working fine 

private void HandleNumber(ChangeEventArgs e,int index)
{
    string inputValue = e.Value?.ToString();

    inputValue = inputValue?.Replace(".", "");

    bindData[index] = Regex.Replace(inputValue, @"[^\d]", "");
    StateHasChanged();
}
}

Solution 1

Utiliser type="number"vous pouvez alors masquer les bascules :

CSS
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none; /* hide spinner buttons*/
}

input[type=number] {
    -moz-appearance: textfield; /* Firefox - hide spinner buttons*/
}

[ad_2]

コメント

Titre et URL copiés