사용자 지정 복합 컨트롤을 설계했습니다. 단순화하기 위해,의 그것과 같다 가정 해 봅시다 : 사용자 지정 복합 컨트롤의 RequiredFieldValidators
Public Class MyCustomControl
Inherits CompositeControl
Private _textbox As TextBox
Public Property Text As String
Get
EnsureChildControls()
Return _textbox.Text
End Get
Set(value As String)
EnsureChildControls()
_textbox.Text = value
End Set
End Property
Protected Overrides Sub CreateChildControls()
_textbox = New TextBox() With {.ID = "textbox"}
Controls.Add(_textbox)
End Sub
가 지금은
MyCustomControl
의 소비자 양식은 (클라이언트에) 제출할 때 내부
_textbox
가 작성되어 있는지 확인하기 위해
RequiredFieldValidator
을 사용할 수 있도록 노력하고 있습니다.
내가 시도 일 : MyCustomControl
클래스에
- 추가
<ValidationProperty("Text")>
을하고RequiredFieldValidator
에ControlToValidate="customControlID"
을 사용 - 가 직접
ControlToValidate="customControlID_textbox"
- 추가 한뿐만 아니라
ControlToValidate="customControlID:textbox"
를 통해 검증을 첨부 (here 참조)IsRequired
이라는 속성이MyCustomControl
으로 지정되어 있으며 자식 컨트롤로 자신의RequiredFieldValidator
을 추가합니다..ControlToValidate = _textbox.ID
세 번째 접근 방식이 작동하는 것으로 보입니다 (아직 조사하지 않은 일부 자바 스크립트 오류가 있음). 그러나 실제로는 첫 번째 접근 방식을 사용하려고합니다 (ValidationProperty
속성 사용).
TLDR : ValidationProperty
특성을 사용하여 사용자 지정 복합 컨트롤에서 클라이언트 쪽 유효성 검사를 수행 할 수있는 방법이 있습니까?
나는'RequiredFieldValidator'의'ErrorMessage' 속성과 함께 오류를 표시하기 위해'ValidationSummary'를 사용하고 있습니다. 페이지를 제출할 때 텍스트 상자의 값에 관계없이 진행됩니다. – jbabey
이 SO 링크를 참조하십시오. 문제가 될 수 있습니다. http://stackoverflow.com/questions/9677883/validation-summary-not-showing – N0Alias
일반'InputField에 동일한 'RequiredFieldValidator'를 사용하면 유효성 검사 요약이 올바르게 작동합니다 복합 컨트롤을 사용하지 않고 type = "text"'상자에 입력하십시오. – jbabey