클라이언트와 서버를 모두 확인하는 것이 가장 좋습니다. 클라이언트 부분은 자동으로 수행되어야하지만 누군가가 UI를 우회하는 경우 서버에서이를 확인하는 방어 조치입니다.
단추에 ValidationGroup을 할당 할 수 있습니다.이 값은 유효성 검사기에 할당 한 ValidationGroup과 동일한 값이어야합니다. 버튼을 클릭하면 클라이언트 측 유효성 검사가 동일한 그룹에서 수행 될 수 있으며 앞에서 설명한 것처럼 실행을 중단합니다 (다시 게시하지 못하도록 함). 당신이 언급 한 바와 같이 서버 측에
, 정확히 할 것입니다 : 여러 그룹이있는 경우 해당되는 경우
Page.Validate("WhateverGroup");
if (!Page.IsValid)
return; //Didn't pass validation
else
//Do whatever
는, 당신은 어떤 그룹은 특정 조건에 따라 적용되지 않을 수 있습니다 (그들 각각을 확인해야하는 일반적으로 그룹을 사용하는 이유입니다).
질문에 대한 응답으로 편집
: 페이지를 게시하는 제어에 의해 결정되는 체크
'기본'그룹. 즉, 페이지를 게시하는 컨트롤에 유효 그룹으로 "WhateverGroup"이 있으면 "WhateverGroup"이 포함 된 유효성 검사기 만 유효성이 검사됩니다.
Page.IsValid
은 Page.Validate
메서드를 호출 한 후 후에 으로 확인해야합니다. Page.IsValid
은 기본적으로 Page.Validate를 호출 할 때 기본적으로 트립되는 플래그이며 어떤 것이 그룹의 유무에 관계없이 호출되었는지에 관계없이 유효하지 않습니다.
참고 : 기본적으로
그래서이 그룹 정확히 실행 하는가? Page를 확인해 보는 것만으로 충분하지 않습니까? – TheGateKeeper
편집 해 주셔서 감사합니다.하지만 기본적으로 (지정한대로) 실행하더라도 유효성 검사기를 다시 호출해야하는 이유는 무엇입니까? – TheGateKeeper
웹 사이트와 상호 작용하지 않고도 서버에 게시 할 수 있습니다. 누군가가 은행 웹 사이트에서 그렇게한다고 가정하면 클라이언트 측을 확인하는 것만으로는 충분하지 않을 것이며, 서버에서 더 잘 확인해야합니다.사실 웹/유닛 테스트에서 사이트와 실제로 상호 작용하지 않고 게시하여 모든 작업을 자동화하는 경우가 일반적입니다. – Jeremy