이 사용자 정의 유효성 검사기는 jQuery를 사용하여 비어있는 텍스트 상자의 유효성을 검사하여 레이블을 빨간색으로 바꿉니다. 내가 겪고있는 문제는 유효성 검사 그룹과 관련이 있습니다.사용자 정의 검사기가 텍스트를 빨간색으로 바꿉니다
function ButtonClick(session, args, textBoxId, labelId) {
$(document).ready
(
function() {
var is_valid = $("#" + textBoxId).val() != "";
$("#" + labelId).css("color", is_valid ? "#686868" : "red");
args.IsValid = is_valid;
}
);
}
여기에 함수로 전달 된 빨간색 레이블이 표시됩니다. 이 유효성 검사기가 해당하는 유효성 검사 그룹을 전달해야합니다. 유효성 그룹이 전환 될 때 다른 레이블을 다시 회색으로 바꾸는 방법을 확신 할 수 없습니다. 지금은 2 개의 버튼과 2 개의 레이블/텍스트 상자 쌍이 있습니다. 각각은 자체 검증 그룹에 있습니다. 버튼 하나를 클릭하면 모든 것이 완벽하게 작동합니다. Label1이 빨간색으로 바뀝니다. 그런 다음 buton 2를 클릭하면 label2가 빨간색으로 바뀝니다. 레이블 1은 회색으로 되돌아 가지 않습니다. 회색으로 바꿔 줘야 해. 몇 가지 유효성 검사 그룹에서 사용할 수있는 일반적인 솔루션이 필요합니다.
jQuery를 통해 유효성 검사 그룹에 액세스하는 방법을 잘 모릅니다.
감사
<div class="formLabel">
<asp:Label ID="lblClientId" runat="server" CssClass="text" meta:resourcekey="lblClientIdResource" />
</div>
<div class="formValue">
<asp:TextBox ID="tbClientId" runat="server" CssClass="text" meta:resourcekey="tbClientIdResource" />
<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 src="../../Scripts/Test.js" type="text/javascript"></script>
<script type="text/javascript">
function BtnClickClientId(session, args) {
ButtonClick(session, args, "<%= tbClientId.ClientID %>", "<%= lblClientId.ClientID %>");
}
function BtnClickLastName(session, args) {
ButtonClick(session, args, "<%= tbSearchLastName.ClientID %>", "<%= lblSearchLastName.ClientID %>");
}
</script>
레이블/텍스트 상자 쌍의 HTML 구조를 지정할 수 있습니까? – haynar