Ich habe 3 Textfelder, die Werte Postleitzahl & Handynummer & Wohnnummer annehmen. Ich habe die Lösung bekommen, nur Zahlen in Textfeldern mit jquery von Bellow post zuzulassen.
Ich möchte, dass ein EditFor-Textfeld nur Zahlen akzeptiert
Aber können wir dies mithilfe von Datenanmerkungen tun, da ich MVC4-Rasierer verwende?
asp.net-mvc
asp.net-mvc-3
asp.net-mvc-4
Vaibhav Shah
quelle
quelle
Antworten:
Ich habe nur mit HTML5-Eingabetyp = Nummer herumgespielt. Obwohl es nicht von allen Browsern unterstützt wird, gehe ich davon aus, dass es der Weg ist, um die typspezifische Behandlung (z. B. Nummer) zu handhaben. ziemlich einfach mit Rasiermesser zu tun (ex ist VB)
und danke an Lee Richardson, den Weg
Sie können diesen Ansatz jedoch für jeden HTML5-Eingabetyp verwenden
quelle
Verwenden Sie einen regulären Ausdruck, z
quelle
In MVC 5 mit Razor können Sie ein beliebiges HTML-Eingabeattribut im anonymen Objekt wie im obigen Beispiel hinzufügen, um nur positive Zahlen in das Eingabefeld zuzulassen.
quelle
In das Textfeld schreiben Sie diesen Code
onkeypress="return isNumberKey(event)"
und die Funktion dafür ist unten.quelle
Bitte verwenden Sie das DataType-Attribut, dies schließt jedoch negative Werte aus, sodass der folgende reguläre Ausdruck dies vermeidet
quelle
Das hat bei mir funktioniert:
Javacript:
quelle
Verwenden Sie diese Funktion in Ihrem Skript und setzen Sie einen Bereich in die Nähe des Textfelds, um die Fehlermeldung anzuzeigen
quelle
can we do this using data annotations as I am using MVC4 razor ?
Nein, so wie ich Ihre Frage verstehe, zeigt eine unauffällige Validierung nur Fehler. Der einfachste Weg ist das jquery Plugin:
Maskiertes Eingabe-Plugin
quelle
Hier ist das Javascript, mit dem Sie nur Zahlen eingeben können.
Abonnieren Sie das
onkeypress
Ereignis für das Textfeld.Hier ist das Javascript dafür:
Hoffe es hilft dir.
quelle
Für Dezimalwerte größer als Null funktioniert HTML5 wie folgt:
quelle
Möglicherweise können Sie die Datenanmerkung [Integer] verwenden (wenn Sie die DataAnnotationsExtensions http://dataannotationsextensions.org/ verwenden ). Dies prüft jedoch nur, ob der Wert eine Ganzzahl ist, und nicht, ob er ausgefüllt ist (daher benötigen Sie möglicherweise auch das Attribut [Erforderlich]).
Wenn Sie die unauffällige Validierung aktivieren, wird sie clientseitig validiert. Sie sollten jedoch auch Modelstate.Valid in Ihrer POST-Aktion verwenden, um sie abzulehnen, falls Javascript deaktiviert ist.
quelle
DataType
hat einen zweiten Konstruktor, der eine Zeichenfolge akzeptiert. Intern entspricht dies jedoch der Verwendung vonUIHint
Attributs.Das Hinzufügen eines neuen zentralen Datentyps ist nicht möglich, da die
DataType
Aufzählung Teil des .NET-Frameworks ist. Das nächste, was Sie tun können, ist, eine neue Klasse zu erstellen, die von der erbtDataTypeAttribute
. Anschließend können Sie einen neuen Konstruktor mit Ihrer eigenenDataType
Aufzählung hinzufügen .Sie können auch über diesen Link gehen. Aber ich werde Ihnen empfehlen, Jquery für das gleiche zu verwenden.
quelle
Hallo versuche folgendes ....
SKRIPT
quelle
quelle
quelle