2013-07-03 4 views
0

클라이언트에서 사용자 지정 속성 유효성 검사 규칙을 사용해야하는 곳에서 프로젝트를 진행하고 있습니다. 브리즈 1.3.6 버전을 사용하고 있습니다. 하나 이상의 규칙을 지정할 때 다음과 같은 문제가 발생합니다. 내가 minValue (min value = 5) 및 maxValue (max value = 10) 사용자 정의 규칙이 정의 된 소수 필드가 있다고 가정 해 보겠습니다. 값 11을 쓸 때 maxValue 규칙을 위반하고 있으며 entityAspect.getValidationErrors는 하나의 오류를 반환합니다. 한 문자를 삭제하여 값이 1이되면 minValue 규칙을 위반합니다. 문제는 entityAspect.getValidationErrors가 두 가지 오류를 반환한다는 것입니다. maxValue 및 minValue 규칙이 모두 손상되었다고 말합니다. 디버깅 할 때 나는 breeze.debug.js 버전 1.3.6 라인 3639의 기능 accros 온 :이 모든 유효성 검사 규칙을 통과하도록되어 내가 해결할 수있는에서breeze 클라이언트 쪽 유효성 검사로 오류를 지우지 않습니다.

// called from defaultInterceptor. 
proto._validateProperty = function (value, context) { 
    var ok = true; 
    this._processValidationOpAndPublish(function (that) { 
     context.property.validators.forEach(function (validator) { 
      ok = ok && validate(that, validator, value, context); 
     }); 
    }); 
    return ok; 
}; 

. 하나의 규칙이 남아있는 모든 규칙 때문에이 오류가 더 이상 깨진 경우에도 실행하지 않는 고장 때문에 거짓

ok = ok && validate(that, validator, value, context); 

'확인'을 일단 : 문제는 그것이 나누기 규칙 안타 후 확인 전화를 중지입니다 지워지지 않을 것이다. 더 이상 관련이없는 오류를 해결하기 위해 모든 유효성 검사 규칙이 실행되기를 기대합니다.

답변

0

그것은 실수입니다. ok = validate(...) && ok;해야합니다. 해결할 것입니다. 찾아보고 해 주셔서 감사합니다.