2016-06-07 6 views
1

다음 코드가 있습니다.null 값 허용 - 입력 유형 번호

<input ng-keypress="onlyNumbers($event)" min="0" type="number" step="1" ng-pattern="/^[0-9]{1,8}$/" ng-model="... > 

이제는 수치 만 허용합니다. null 값도 받아 들여지 길 원합니다. 데이터베이스에 null 값이 있으므로 UI에 값을 반영하고 싶습니다. 현재 null 값에 대한 입력에서 [Object] [Object]를 얻습니다.

이 사람이 내가 그것을 작동하게하는 방법을 알려 수

$scope.onlyNumbers = function(event){ 
    var keys = { 
    'up': 38, 
    // Other key codes 
    ... 
    '9':57 
    }; 

    for(var index in keys) { 
    if (!keys.hasOwnProperty(index)) continue; 
    if (event.charCode==keys[index]||event.keyCode==keys[index]) { 
     return; //default event 
    } 
    } 

    event.preventDefault(); 
}; 
?

답변

3

min 속성을 제거하고 ng 패턴을 수정하여 빈 입력을 확인하면 어떨까요?

<input ng-keypress="onlyNumbers($event)" type="number" step="1" ng-pattern="/^[0-9]{1,8}$|^$/" ng-model="... > 
+0

와트는 여기에 빈 입력을위한 ng 패턴입니까? – Patrick

+1

'|^$'를 추가하면 정규 표현식에 두 번째 일치 가능성이 추가됩니다.'^ $'는 기본적으로''$ ''의 시작 부분과 일치하고,''$''의 뒤에는 줄 끝 부분이옵니다. 물론'|' 그냥 "또는". – mikesigs

+0

이 코드를 사용해보고 작동하면 업데이트하십시오. 입력 n 설명 주셔서 감사합니다 – Patrick