다음 정규식은 웹 양식의 RegularExpressionValidator에 ValidationExpression
속성으로 설정되어 있습니다. 유효성이 검사 된 컨트롤에 잘못된 문자를 입력하면 유효성 검사기가이를 감지하고 오류 메시지를 표시합니다.RegularExpressionValidator가 빈 문자열을 검색하지 않습니다.
<appSettings>
<add key="categoryPattern" value="^[a-zA-Z0-9_+\-() ]{1,50}$" />
</appSettings>
내 검사기 :
<asp:RegularExpressionValidator ValidationExpression="<%$ AppSettings:categoryPattern %>"
내 서버 측 유효성 검사 :
Regex rex = new Regex(ConfigurationManager.AppSettings["categoryPattern"]);
if (!rex.Match(categoryName).Success)
{
throw new ArgumentException("CategoryName must match expression: " + rex);
당신이 볼 수 있듯이, 정확히 같은 패턴은 클라이언트 측과 서버 측에 적용됩니다.
그러나 유효성이 검사 된 컨트롤을 지우고 빈 문자열을 제출하면 유효성 검사기는 문제가 없다고 생각하고 서버 측 유효성 검사에서 오류가 발생합니다. 누가 RegularExpressionValidator의 깨진 계약을 제외하고 무엇이 잘못되었는지 알고 있습니까?
고마워요. @Mehrdad, RequiredFieldValidator를 추가했는데 서버 유효성 검사가 페이지에 없으며 페이지에서 사용되는 클래스와 잠재적으로 다른 코드에서 유지됩니다. – ProfK
당신을 진심으로 환영합니다. –