입니다 질문은 오래되었고 당신이 지시어를 원하지 않는다는 것을 알고 있지만 "각도"라면 지시어를 사용하는 것을 고려해 볼 수 있습니다 ... 그럼 여기 내 Angular-Validation입니다. 나는 Github에 관한 프로젝트를 만들었고 사용 가능한 모든 것과 비교해 보았습니다 ... 저는 훌륭한 Laravel PHP 프레임 워크에 기반을두고 Angular 아래에서 사용할 수있게 만들었습니다 ... 너무 단순합니다. 이 필요합니다. 2 줄 1 줄의 코드, 1 줄의 입력, 1 줄의 오류 표시, 그게 ... 결코 더 절대로!
<!-- example 1 -->
<label for="input1">Email</label>
<input type="text" validation="email|min_len:3|max_len:25|required" ng-model="form1.input1" name="input1" />
<!-- example 2 -->
<label for="input2">Alphanumeric + Exact(3) + required</label>
<input type="text" validation="alpha|exact_len:3|required" ng-model="form1.input2" name="input2" />
그래서 내가 유효성 검사 규칙의 어떤 양 (유효성 검사기 이미 25 + 유형)를 정의 할 수 있습니다 나는 간단한 지시 validation="min_len:2|max_len:10|required|integer"
에서 원하는 및 오류 메시지가 항상 옆에 표시됩니다 말했다 충분,의 몇 가지 예를들 수 있습니다 <span>
당신은 이미 그것을 좋아하지 않아? 당신의 입력을위한 1 줄의 코드, 에러 표시를위한 1 줄의 코드, 당신은 그보다 간단 할 수 없습니다 ... 오, 당신이 추가하고 싶다면 커스텀 정규식을 지원합니다. 또 다른 보너스로, 원하는 트리거 이벤트를 지원합니다. 가장 일반적인 것은 onblur
과 onkeyup
입니다. 아, 그리고 JSON 외부 파일을 통해 여러 지역 언어를 지원합니다. 나는 정말로 내가 원했던 상상할 수있는 모든 기능을 하나의 미친 단순한 지시문에 추가했다.
더 이상 클러스터 된 양식 1 입력에 대해 10 줄의 코드가있는 양식 (미안하지만 항상 조금 극단적 인 것으로 나타남). 필요한 유일한 것은 2 줄입니다. 더 이상 5 개의 유효성 검사기가있는 입력에 대해서도 마찬가지입니다. 무효화되지 않는 형태에 대한 걱정은 없었고, 나는 또한 그것을 돌 보았습니다. 모두 좋은 "각도"방식으로 처리되었습니다.
내 Github에서 프로젝트 Angular-Validation 한 번 봐 ... 나는
UPDATE
또 다른 사탕 보너스) = 당신이 그것을 사랑 할거야 확신합니다! 보다 부드러운 사용자 환경을 만들기 위해 타이머에 대한 유효성 검사를 추가했습니다. 개념은 간단하지만 입력하는 동안 사용자를 귀찮게하지 않고 일시 중지하거나 입력을 변경하면 유효성을 검사합니다 (onBlur) ... Love it !!!
원하는대로 타이머를 사용자 정의 할 수도 있습니다. 지시문 내에서 1 초로 기본 설정하기로했지만 사용자 정의하려는 경우 예를 들어 typing-limit="5000"
과 같이 호출하여 5 초가 걸릴 수 있습니다. 타임 아웃. 전체 예 :
<input type="text" ng-model="form1.input1" typing-limit="5000" validation="integer|required" name="input1" />
<span class="validation text-danger"></span>
업데이트 # 2
또한 추가 입력 일치 확인 검증 (예 : 암호 확인)이 여기에 샘플 코드
<!-- input match confirmation, as for example: password confirmation -->
<label for="input4">Password</label>
<input type="password" name="input4" ng-model="form1.input4" validation="alpha|min_len:4|required" />
<label for="input4c">Password Confirmation</label>
<input type="password" name="input4c" ng-model="form1.input4c" validation="match:form1.input4,Password|required" />
UPDATE # 3
입니다 <span>
에 오류를 표시 할 필요가 없도록 지시문을 리 팩터 처리 했으므로 이제 지시문이 자체적으로 처리합니다. 변경 사항은 맨 위에 반영됩니다.
DEMO
추가
당신 싶어 자바 스크립트 함수에서 이러한 검증을 모두 수행하는 경우 Plunker에 라이브 데모, 왜 각도 길을 갈 및 사용자 정의 유효성 검사 지침을 만들 수 없습니다? –
왜 자바 스크립트 기능을 사용 하시겠습니까? Angular는 http://jsfiddle.net/DotDotDot/6UJZk/1/과 같은 모델을 보면서 그것을 할 수 있습니다. 다른 기능을 사용하는 것이 효율적이지 않다고 생각합니다. – DotDotDot