여기서 잘못된 점을 모릅니다. 이것은 다른 누군가가 개발 한 페이지이며 문제 중 하나를 해결하려고합니다.asp : CustomValidator가 'false'를 반환하지 않습니다.
시나리오 :
ASP.NET 사이트.
Login.aspx에는 <asp:login>
이 있으며 세 가지 유효성 검사 그룹이 있습니다. Login.aspx.cs는 "user_login"의 부분 클래스입니다.
각 유효성 검사 그룹에는 텍스트 상자와 연관 customvalidator가 있습니다. 모든 세 개의 사용자 정의 유효성 검사기는 무언가가 해당 텍스트 상자에 입력 될 때 트리거되지만 문제는 유효성 검사가 실패 할 때 첫 번째 텍스트 상자 (validationgroup = 1에 바인딩 됨) 만 false를 반환합니다.
두 번째 및 세 번째 경우 customvalidator가 트리거되지만 유효성 검사 문제가 있고 "args.IsValid = false;"를 설정 한 후에도 프로세스가 계속 실행되어야하는지 계속됩니다.
여기에 무슨 일이 일어나고 있는지 알 수 없습니다. customvalidator가 false를 반환하고 싶습니다. 최악의 경우, 유효성 검사가 실패하면 컨트롤을 '텍스트 상자'로 되돌릴 수있는 방법이 있습니까?
다음은 사용 된 사용자 정의 유효성 검사기입니다.
<asp:CustomValidator ID="ExistingIdValidator" runat="server" ControlToValidate="NewUserName"
ValidateEmptyText="true" ValidationGroup="NewUserForm"
OnServerValidate="NewUserNameCheck_ServerValidate">
</asp:CustomValidator>
protected void NewUserNameCheck_ServerValidate(object source, ServerValidateEventArgs args)
{
CustomValidator validator = source as CustomValidator;
if (validator != null)
{
string NewuserNameValue = this.NewUserName.Text;
Guid registeredUserId = (Guid)Membership.GetUser(NewuserNameValue).ProviderUserKey;
if (registeredUserId != null)
{
validator.IsValid = false;
this.FailureText_New.Text = "This UserID already exists. Please login as existing user";
args.IsValid = false;
}
}
}
코드가 여기에 표시되지 않습니다. 여전히 시도 중입니다 – Anirudh
@ jadarnel27 : 내 코드를 수정했는지는 알 수 없습니다. 원래 게시물의 맞춤 유효성 검사기 코드 인 경우 아직 유효하지 않습니다. – Anirudh
자바 스크립트 함수 NewUserNameCheck_ServerValidate를 표시 할 수 있습니까? –