<div>
<asp:Label ID="lblClientId" runat="server" CssClass="label" meta:resourcekey="lblClientIdResource" />
<asp:TextBox ID="tbClientId" runat="server" style="width:150px; "/>
<asp:Button ID="btnClientId" runat="server" style="width:50px;" meta:resourcekey="btnClientIdResource" />
<asp:CustomValidator ID="rfvClientId" runat="server" ValidationGroup="ClientId" meta:resourcekey="rfvClientIdResource" ControlToValidate="tbClientId" ClientValidationFunction="BtnClickClientId" style="position:absolute;" ValidateEmptyText="True" ><asp:Image ID="Image2" ImageUrl="caution_20.png" runat="server" /></asp:CustomValidator>
</div>
<script type="text/javascript">
function BtnClickClientId(session, args) {
ButtonClick(session, args, "<%= tbClientId.ClientID %>", "<%= lblClientId.ClientID %>");
}
window.onload = function() {
document.getElementById('<%= tbClientId.ClientID%>').focus();
};
</script>
<asp:ValidationSummary ID="ClientIdValidationSummary" runat="server" BackColor="LightGray" DisplayMode="BulletList" CssClass="validationSummary" EnableClientScript="true" HeaderText='<%$ Resources:GlobalResource, ValidationSummaryResource %>'/>
따라서이 ButtonClick() 메서드는 작동하며 독립적으로 테스트되었습니다. 문제는 내가 텍스트 상자에 아무 것도 입력하지 않고 단추를 클릭하면 유효성 검사기가 예상대로 작동하고 화면에 나타나는 것입니다. 그런 다음 사라집니다. 또한 페이지 유효성 검사 요약에도 표시되지 않습니다. 어떻게 작동 시키나요?사용자 정의 검사기가 작동하지 않지만 다시 게시 허용
필자는이 텍스트 상자에 필수 필드 유효성 검사기를 설정하려고 시도했지만이 매개 변수는 두 개의 유효성 검사기를 사용하지 않으려 고합니다.
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="tbClientId" ErrorMessage="RequiredFieldValidator" style="position:absolute;"><asp:Image ID="Image2" ImageUrl="caution_20.png" runat="server" /></asp:RequiredFieldValidator>
<asp:CustomValidator ID="rfvClientId" runat="server" ValidationGroup="ClientId" meta:resourcekey="rfvClientIdResource" ControlToValidate="tbClientId" ClientValidationFunction="BtnClickClientId" style="position:absolute;" ValidateEmptyText="True" ></asp:CustomValidator>
이 코드는 작동하지만 2 개의 유효성 검사기를 사용할 필요가 없습니다.
"ButtonClick"기능은 어떤 기능을합니까? 그 함수에서 "arg.IsValid"를 설정하고 있습니까? – Praveen
아니요, 설정 중이 아닙니다. 레이블의 텍스트를 빨간색으로 바꾼다. – joncodo