2017-10-29 4 views
2

ASP.NET MVC 및 HTML5 유효성 검사에 대한 몇 가지 사항을 정리하고 싶습니다. 내 프로젝트에서 모든 jQuery 유효성 검사를 비활성화하여 HTML5 유효성 검사 만 사용할 수 있으므로 jQuery보다 훨씬 좋고 느낌이 좋습니다.MVC html5 유효성 검사

HTML 5 유효성 검사가 C# 모델의 MVC 주석에 반응하지 않는 것 같습니다. (예 : [Required] 또는 [Compare("Password"])) 실제 HTML 속성에서 요소 (예 : new { required = "required" })에 반응합니다.

HTML5 유효성 검사가 자바 스크립트에서 작동합니다. 맞습니까? 자바 스크립트를 사용하지 않도록 설정하고 유효성 검사를 건너 뛰기 때문에 취약하지 않습니까?

또한 이러한 HTML 5 유효성 검사 스크립트가 어디에 있는지 확인하여 변경할 수 있습니다 (라이브 암호 확인을 찾지 못해서). 새 <script></script>을 내 View에 작성해야합니까?

이 정보는 도움이 될 것입니다. 감사합니다.

+1

프런트 엔드 유효성 검사 (HTML5 또는 JS)는 브라우저 및 클라이언트 측면에 따라 최종 사용자 환경을 개선하기위한 것입니다. 그래서 그것은 항상 서버 측에서 점검되고 검증되어야합니다! – 3Dos

답변

0

HTML5 유효성 검사 만 사용하는 것이 "멋지게 느껴질 수 있습니다"하지만 실제로 사용중인 기능에 대해서는 실종 상태입니다. 다른 개발자는 ASP.NET MVC 스타일의 유효성 검사에 익숙해 질 수 있습니다. "왜 HTML 도우미와 jQueryValidate를 사용하지 않는 것이 좋을까요?"

일반적인 프로젝트에서 jQueryValidate와 결합 된 MVC 프레임 워크는 일반적으로 웹 개발자가 겪고있는 문제를 해결합니다. 서버와 클라이언트에서 일관되게 작동하는 유효성 검사 규칙을 유지 관리합니다.

완벽하지는 않지만 처음부터 끝까지 MVC 유효성 검사 자습서를 따르거나 MVC 책에서 유효성 검사 장을 읽으면 즉시 사용 가능한 제품의 기능과 유연성을 이해하게됩니다. 해결책.

다른 개발자가 프레임 워크에서 제공하는 도구를 고수함으로써 유효성 검사 코드의 작동 방식을 더 쉽게 이해할 수 있으므로 잘못 될 가능성이 적습니다. 당연히 기술 - 특히 웹 기술 -은 끊임없이 변화하는 상태에 있으며 그 정도는 상황에 달려 있습니다.

+0

그래서 jQuery가 클라이언트와 서버 측을 관리합니까? 그거 좋은 소리. 몇 가지 jQuery를 수행하고 jQuery 유효성 검사를 HTML5와 비슷하게 만들 수 있습니다. – Mors

+0

아니요, 면도기 페이지에서 양식 필드를 만드는 데 사용해야하는 HTML 도우미는 모델의 주석에 기반한 유효성 검사를 통해 HTML을 생성합니다.이 유효성 검사는 jQuery 유효성 검사가 자동으로 고객 측에 연결되어야합니다. – Lunster

1

MVC 유효성 검사를 사용하면 클라이언트 및 서버 측에서 실행된다는 이점이 있습니다. 클라이언트 검증을 사용 중지하면 조치 방법에서 ModelState.IsValid을 계속 확인할 수 있습니다. 이것은 인터넷 브라우저가 자바 스크립트를 사용할 수 없을 때 데이터베이스에 가비지 삽입을 방지하기위한 것이지만 악의적 인 공격으로부터 데이터를 보호하기위한 것입니다.

+0

그래, 내 모든 컨트롤러에 Model.IsValid가 있지만 실제로는 충분합니까? – Mors

+0

서버에서 유효성 검사는 실제로 공격으로부터 당신을 보호합니다. 클라이언트 측 유효성 검사는 모든 경우에 보장 할 수 없습니다. 클라이언트 측 유효성 검사는 사용자 환경을 개선하기위한 것입니다. – derloopkat