Hier ist mein nehmen auf einer serverseitigen Lösung in C#, um die oben genannte Antwort zu imitieren, für alle Interessierten:
<asp:TextBox ID="txtStudentComments" runat="server"
Rows="8" Width="100%"
ToolbarCanCollapse="False" ValidationGroup="vg1" />
<asp:CustomValidator ID="cv1" runat="server" ControlToValidate="txtStudentComments"
ErrorMessage="THESE COMMENTS DO NOT SEEM RIGHT. PLEASE REVIEW THEM AGAIN!" SetFocusOnError="true"
Font-Bold="True" Font-Size="Medium" ValidationGroup="vg1" OnServerValidate="cv1_ServerValidate"></asp:CustomValidator>
Und auf dem Server:
//validate of the comment contains some specific words which imply the TET has not reviewed the comments!
protected void cv1_ServerValidate(object source, ServerValidateEventArgs args)
{
CustomValidator cv = (CustomValidator)source;
GridViewRow gvRow = (GridViewRow)cv.NamingContainer;
TextBox editor = (TextBox)gvRow.FindControl("txtStudentComments");
if (editor.Text.ToUpper().Contains("FACILITATOR TO INSERT COMMENTS HERE PLEASE"))
args.IsValid = false;
else
args.IsValid = true;
}
Diese beiden Linien sind die Crux davon.
CustomValidator cv = (CustomValidator)source;
GridViewRow gvRow = (GridViewRow)cv.NamingContainer;
Die NamingContainer werden ein GridViewRow in meinem Fall sein, aber es könnte Ihre gesamte Seite auf Ihrem Programm abhängig sein. So oder so kann ich das gewünschte Steuerelement relativ zum ControlToValidate-Objekt finden, das wie erwähnt die ClientID zurückgibt.
Hallo Musa. Ich habe versucht, das zu tun, aber es ist 'undefined' – DJPB
Es ist wirklich interessant, weil ich es in IE und Chrome versucht habe, beide funktionierte gut in meiner .NET 3.5 Website. Bitte stellen Sie sicher, dass Sie die Absender-Kontrolle haben, um Kleinschreibung zu validieren, weil ich auch undefined mit Pascalcased ControlToValidate wurde. –
Ja, versuchte es einfach wie du, aber immer noch keinen Erfolg. Welche Eigenschaften haben Sie beim Deklarieren des benutzerdefinierten Validator-Tags festgelegt? – DJPB