같은 필드에 필요한 필드를 만들 수 있는지 묻는 중입니다 : 다른 필드가 비어 있지 않은 경우 필요한 텍스트 상자를 설정하려면 선택 사항입니다.requried 필드를 설정하는 방법은 조건에 따라 다릅니 까?
2
A
답변
6
이에 대한 CustomValidator을 사용할 수 있지만이 작업을 얻기 위해 알아야 할 것이 있습니다. 문제는 유효성 검사기에서 ControlToValidate
속성을 설정하면 해당 컨트롤에 값이있는 경우에만 발생한다는 것입니다. 상황에 따라 값이없는 경우 구체적으로 유효성을 검사하려고합니다.
이 문제를 해결하려면 유효성 검사기에 ControlToValidate
속성을 설정하지 마십시오. 그런 다음 클라이언트 및 서버 유효성 검증 핸들러에서 두 텍스트 상자에 직접 액세스해야합니다. 클라이언트 확인 기능에서
은 당신이 뭔가를 할 수 있습니다 :
: 이렇게 될 수protected void OnCustomServerValidate(object source, ServerValidateEventArgs e)
{
e.IsValid = true;
// Don't validate anything if `OtherTextBox` is empty
if (OtherTxtBox.Text.Trim() == String.Empty)
{
return;
}
// If we got this far then we need to set IsValid to false if the ControlToValidate has no value
if (TextBoxToValidate.Text.Trim() == String.Empty)
{
e.IsValid = false;
}
}
과 영문을 :
function OnCustomClientValidate(source, e) {
e.IsValid = true;
var otherTextBoxValue = $('#<%=OtherTxtBox.ClientID%>').val().trim();
if (otherTextBoxValue == '') {
return;
}
var controlToValidateValue = $('#<%=TextBoxToValidate.ClientID%>').val().trim();
if (controlToValidateValue == '') {
e.IsValid = false;
}
}
서버 확인 방법은 다음과 같을 수 있습니다
<asp:TextBox ID="OtherTextBox" runat="server"></asp:TextBox>
<asp:CustomValidator ID="MyCustomValidator" runat="server" ClientValidationFunction="OnCustomClientValidate" OnServerValidate="OnCustomServerValidate" Display="Dynamic" ErrorMessage="Please enter a value"></asp:CustomValidator>
<asp:TextBox ID="TextBoxToValidate" runat="server"></asp:TextBox>
이 접근법을 사용할 때 (의도 된) 컨트롤 t 우리가 그 통제를 명시하지 않았기 때문에 유효성이 검증된다. 따라서 폼을 제출할 때 클라이언트 측 유효성 검사가 실행되지만 유효성 검사가 실패하면 다시 게시가 취소됩니다.
1
이렇게 유효성 검사를 수행하는 방법 중 하나는 사용자 정의 유효성 검사기를 사용하는 것입니다. 그런 다음 사용자 지정 유효성 검사기를 연결하여 유효성 검사 서버 쪽 또는 클라이언트 쪽을 수행 할 수 있습니다.
필수 MSDN의 링크 : How to: Validate with a Custom Function for ASP.NET Server Controls
관련 문제
- 1. 스타일 클래스를 다른 클래스로 설정하는 방법은 선택기에 따라 다릅니 까?
- 2. 마코 템플릿은 객체 클래스에 따라 다릅니 까?
- 3. 레일 : 세션 + 조회수는 리퍼러에 따라 다릅니 까?
- 4. 문서 라이브러리의 필드에 따라 다릅니 까?
- 5. PHP의 mktime() 함수는 시간대에 따라 다릅니 까?
- 6. 유효성 검사 확인란에 따라 다릅니 까?
- 7. CSS 색상 : 모니터에 따라 다릅니 까?
- 8. 코드는 빌드 유형에 따라 다릅니 까?
- 9. 왜 이스케이프 코드가 언어에 따라 다릅니 까?
- 10. 메모리 사용량은 iOS 버전에 따라 다릅니 까
- 11. 시간대 수가 로캘에 따라 다릅니 까?
- 12. GUI는 언어와 플랫폼에 따라 다릅니 까?
- 13. DataGridView 성능 - 비디오 카드에 따라 다릅니 까?
- 14. 파이썬에서 2 차원 배열을 만드는 방법 행의 수를 알고 있고 열의 수는 조건에 따라 다릅니 까?
- 15. BSD에서 nftw가 다릅니 까?
- 16. PostgreSQL 삽입은 다른 테이블의 데이터에 따라 다릅니 까?
- 17. XML 파일을 사용해야하는 요소는 요소 (Magento)에 따라 다릅니 까?
- 18. 데이터베이스 속도는 열 또는 행 (레코드)에 따라 다릅니 까?
- 19. 탭 항목 템플릿에 따라 탭 스타일이 다릅니 까?
- 20. Javascript 배열 정렬 속도는 객체 크기에 따라 다릅니 까?
- 21. jQuery UI 라디오 버튼 - 각 선택에 따라 색상이 다릅니 까?
- 22. 할당 속도는 사용되는 가비지 수집기에 따라 다릅니 까?
- 23. 결과 집합 탐색은 사용중인 드라이버 유형에 따라 다릅니 까?
- 24. 보안 : 암호로 암호화 된 결과는 서버에 따라 다릅니 까?
- 25. 날짜의 형식은 사용자의 로켈과 달력 시스템에 따라 다릅니 까?
- 26. JTable 행의 색은 모델의 Value에 따라 다릅니 까?
- 27. MVC + 저장소 패턴 - 여전히 데이터 모델에 따라 다릅니 까?
- 28. 데이터베이스 쿼리 시간은 데이터베이스 크기에 따라 어떻게 다릅니 까?
- 29. Discovr 앱처럼 선을 그리는 방법을 애니메이션의 공에 따라 다릅니 까?
- 30. const 캐스트는 어떻게 다릅니 까?
대단히 감사합니다. –