2014-12-16 2 views
0

나는 텍스트 상자에 대해 MVC에서 AlphaNumeric 문자의 유효성을 검사하기 위해 DataAnnotation을 사용합니다. 그것은 잘 작동하지만, 내 텍스트 상자에 '<script type='text/javascript'>alert('This site sucks!');</script>' 입력하면 작동하지 않습니다.MVC에서 영숫자 유효성 검사

[RegularExpression("^([a-zA-Z0-9 .&'-]+)$", ErrorMessage="Illegal character found in name. Please enter a valid name")] 
    public string Name { get; set; } 

아래의 몇 가지 도움이

+0

강력한 형식화 된 뷰에 표시 할 필드의 모델 (서버 쪽 유효성 검사 특성)이고 다른 하나는 100 % 클라이언트 측 스크립트이며 이름이 지정된 속성을 모르는 사람입니다 "이름" –

+0

내 질문을 편집했습니다 – maxspan

+0

그것은 무료 정규식 도구 익스프레스에서 작동합니다. 이는 아마도 클라이언트에서 유효성 검사 논리가 발생하지 않는다는 것을 의미합니다. –

답변

0

이것은 해당 문자열과 일치해야합니다 도움이 될 수 있습니다 내보기 코드

@Html.Raw(Html.TextBoxFor(p => p.Name, new { @class = "k-textbox", @style = "width:400px" })) 
    @Html.Raw(Html.ValidationMessageFor(p => p.Name)) 

입니다 : [<>A-Za-z0-9'\(\)/= !;]+
당신이 디버깅 할 수 있도록이 사이트를 확인할 수 있습니다 당신의 정규식 : http://www.regexr.com/

+0

작동하지 않습니다. – maxspan

1

답변은 위의 문자열을 확인할 수 없습니다. . JavaScript 인젝션 공격입니다. 그래서 방금 HttpRequestValidationExpection을 처리했습니다.

관련 문제