2009-05-28 2 views
1

asp : ChangePassword 컨트롤에 대한 사용자 지정 유효성 검사 컨트롤을 사용하는 방법에 대한 아이디어를 찾고 있습니다. asp : CustomValidator 컨트롤에서 "ControlToValidate"속성을 설정하려는 간단한 시도는 다음과 같습니다.asp : customvalidator asp : ChangePassword 컨트롤을 사용할 수 있습니까?

'passwordValidation'의 ControlToValidate 속성에 의해 참조되는 컨트롤 'changePassword1'의 유효성을 검사 할 수 없습니다.

감사합니다.

답변

1

javascript를 사용하여 직접 컨트롤을 가져 오는 경우 CustomValidator를 사용하여 유효성을 검사 할 수 있습니다. ControlToValidate를 설정할 수 없다는 것은 EventArgs에서 데이터를 가져 오지 않고 직접 가져와야 함을 의미합니다.

0

사용자 지정 유효성 검사기를 사용하려면 ChangePassword 컨트롤을 템플릿 컨트롤로 변경해야합니다. 사용자 지정 유효성 검사기의 유효성 검사 그룹을 템플릿의 다른 컨트롤과 동일하게 설정해야합니다. 또는 ChangePassword 컨트롤에 사용자의 요구를 충족시킬 수있는 NewPasswordRegularExpression 속성이 있습니다.

0

예, 바로 사용할 수있는 템플릿 :

http://quickstarts.asp.net/QuickStartv20/util/srcview.aspx?path=~/aspnet/samples/ctrlref/login/ChangePasswordTemplates.src

http://quickstarts.asp.net/quickstartv20/aspnet/doc/ctrlref/login/changepassword.aspx

는 긴 텍스트 상자-ID가있는 그대로 "사용자 이름"(또는 유효성을 검사 할 무엇이든), 당신은 어떤 종류를 추가 할 수 있습니다 템플릿에 대한 유효성 검사기.

2

이 오류 메시지로 이어지는 근본적인 문제는 ChangePassword 컨트롤에 클래스 수준에서 "ValidationProperty"특성이 설정되어 있지 않다는 것입니다. 앞서 언급했듯이 CustomValidator에서 ControlToValidate 특성을 제외 할 수 있습니다. 이것은 아마도 ChangePassword 컨트롤을위한 최상의 계획 일 것입니다. 사용자 정의 컨트롤을 직접 CustomValidator를 사용하려는 경우

는 사용자 지정 컨트롤의 클래스에 ValidationProperty을 설정하면 ValidationProperty 속성이없는 라이브러리 컨트롤을 직접 CustomValidator를 사용하려면

[DefaultProperty("StateName"), ValidationProperty("StateName")] 
public class StateBox: CompositeControl 
{ 
    ... 

라이브러리 컨트롤에서 클래스를 파생시키고 파생 클래스에 ValidationProperty를 설정합니다.