2016-05-13 3 views
0

Zuerst weiß ich, dass ich Javascript verwenden kann, aber lassen Sie mich erklären.Ist es möglich, clientseitige Validierung nur für asp.net-Steuerelemente zu haben?

Mein Ziel ist es, eine der Validierer zu verwenden:

  • Pflicht
  • Regex
  • Vergleichen
  • usw.

Und profitieren nur von ihren client- Seitenvalidierung Ich unterklassifiziere vererbte Steuerelemente und verhindere, dass das name-Attribut auf dem Client gerendert wird. Der Grund ist für sensible Daten, die ich nicht zum Server zurückgehen möchte. Durch das Entfernen des Namensattributs wird verhindert, dass der Wert mit dem Steuerelement gesendet wird.

Nehmen Pflichtfeld zum Beispiel, ist es nicht immer die Validierung auf dem Server, weil der Wert nicht gesendet wird. Ich könnte einen benutzerdefinierten Validator verwenden, möchte aber alle vordefinierten Funktionen aller Validierungsarten nutzen.

Ich hoffe, jemand hatte eine kreative Idee, dachte, oder wenn ich blind gegenüber dem Offensichtlichen bin, oder wenn es einfach gerade unmöglich ist.

Antwort

-1

Sie können versuchen, ASP.Net Ajax Control Toolkit zu verwenden, ist es eine Open-Source-Bibliothek für Web-Entwicklung.

Wenn Sie das Standard-Asp.Net-Steuerelement verwenden möchten, können Sie den Validierungscontroller verwenden, den Vergleichs-, benutzerdefinierten, Bereichs-, Regex- und erforderlichen Feldvalidierer.

Grüße

0

Zurücksetzen der IsValid Eigenschaft des Prüfers in der überschriebenen Validate Funktion der Seite scheinen zu funktionieren:

public override void Validate() 
{ 
    base.Validate(); 
    rfvNotEmpty.IsValid = true; 
} 
+0

Hinweis: Ich weiß nicht, warum meine Antwort die einzige ist, die Downvoted hat (noch) nicht, aber ich bin nicht der Typ, der die anderen Antworten Downvoted. :-) – ConnorsFan

+0

lol. Ich höre dich. Ich schaue jetzt auf deine Antwort. Jemand hat auch mein Schlachtschiff versenkt und ich weiß nicht warum. – user1447679

+0

Danke, dass du mein Schlachtschiff versenkt hast, wenn du das wärst. :) – user1447679

-1

Wenn ich Ihnen verstehe Frage richtig mögen Sie Ihre Steuervalidierungsserverseite an der Arbeit Client-Seite, dann müssen Sie Verweis der neuesten jquery-Datei auf Ihrer Seite hinzufügen, wie im Beispiel gezeigt.

Server seitige Steuerung wird validiert Client-Seite und Form nicht an Server-Seite bis zum validierten Client-Seite gebucht werden.

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="ValidationTest.aspx.vb" Inherits=".ValidationTest" %> 

<!DOCTYPE html> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
<title></title> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script> 
</head> 
<body> 
<form id="form1" runat="server"> 
    <asp:Panel runat="server"> 
     <asp:TextBox runat="server" ID="txtName" CssClass="form-control" /> 
     <asp:RequiredFieldValidator 
      ID="rvtxtName" 
      InitialValue="" 
      runat="server" 
      ControlToValidate="txtName" 
      ForeColor="Red" 
      ErrorMessage="*Field Required!" 
      Display="Dynamic" 
      ValidationGroup="add"> 
     </asp:RequiredFieldValidator> 
     <asp:Button runat="server" ID="btnSubmit" Text="Save" ValidationGroup="add" /> 
    </asp:Panel> 


    </form> 
</body> 

+0

Ich fürchte, Sie haben die Frage falsch verstanden. – user1447679

Verwandte Themen