Hier ist die Situation: Ich habe ein großes großes Texteingabefeld für eine URL habe hier: https://asafaweb.comWie können Sie verwenden type = „url“ in MVC4 ohne jQuery das Feld als URL zu validieren?
Dies muss nicht, obwohl die strenge Definition einer URL halten; Ich erlaube Adressen ohne ein Schema dann Standard zu HTTP für Benutzerfreundlichkeit Zwecke. Zum Beispiel würde "stackoverflow.com" als gültige URL betrachtet werden. Aber es gibt auch URLs, die ich aus verschiedenen Gründen nicht zulassen möchte (d. H. Sie wurden auf die schwarze Liste gesetzt oder sie sind interne IP-Adressbereiche).
Ich möchte den Typ der Eingabe auf "url" anstelle der Standard "Text" festlegen, damit Benutzer auf mobilen Geräten eine Tastatur für den URL-Kontext (dh iOS gibt Ihnen eine ".com" -Taste) erhalten, das Problem ist, dass, sobald ich das tue, gebündelt der Standard unaufdringlich jQuery Validierung mit ASP.NET MVC erwartet eine URL mit einem Schema so meine schemeless URL Unterstützung zu brechen.
Dies ist ein MVC4 Ort und ich habe einen Helfer HTML etwa so:
@Html.TextBoxFor(m => m.ScanUrl, new { type = "url" })
Das ScanUrl Attribut hat dann eine benutzerdefinierte Validation, die die maßgeschneiderten all Kontrollen tun, um sicherzustellen, dass URL gescannt werden kann.
Wie kann ich das vorhandene Validierungsmuster beibehalten, ohne dass die jQuery-Validierung eingeordnet wird und sichergestellt werden soll, dass eine URL strikt URL ist?
Wie über ein Datum attrib wie Daten-Validation = „schemeless“ und modding die Validate url Routine Zugabe für sie zu überprüfen und, falls vorhanden, ein Verfahren Aufruf eines schemeless url Regex zu tun prüfen? – bUKaneer
Im Anschluss an die oben könnten Sie die Validierungsmethode außer Kraft setzen für urll www.bennadel.com/blog/1624-Ask-Ben-Overriding-Core-jQuery-Methods zu überprüfen.htm in einem separaten Include dann müssen Sie nicht einmal den Kern-Code mod – bUKaneer
Troy, sind Sie sicher, es ist die MVC-Validierung, die fehlschlägt und nicht die eingebaute Browser-Validierung auf der tatsächlichen Eingabekontrolle? Woher erhalten Sie das eigentliche Popup, das Ihnen mitteilt, dass Sie die eingegebene URL eingeben können, und sieht es in verschiedenen Browsern anders aus? – shawty