Trong dự án Angular2, tôi cần xác thực một số đầu vào. Làm thế nào để dễ dàng kiểm tra xem giá trị đầu vào có phải là số nguyên không?Angular 2 Custom Validator: kiểm tra xem giá trị đầu vào có phải là số nguyên không?
Tôi đã thử sử dụng Number(control.value)
trả về 0
cho trường trống - không tốt.
hoặc parseInt(control.value,10)
mà dis-coi không gian:
Nếu tôi có một cái gì đó như: 1 không gian 0,24 = 1 ,024
nó trả 1 - mà vượt qua validator không có lỗi.
Các chức năng của Lodash như: _.isInteger(control.value)
hoặc _.isNumeric(control.value)
// return false every time
- dự kiến là vì giá trị đầu vào là một chuỗi không phải là số.
Kết hợp các phương pháp như thế này tạo ra một chức năng lộn xộn với nhiều câu lệnh if/else, và thậm chí sau đó, tôi không chắc tôi có được tất cả các trường hợp cạnh hay không. Tôi chắc chắn cần một cách tiếp cận thẳng về phía trước. Bất kỳ ý tưởng?
nên không nó trở {IsNumeric : true} nếu nó không xác nhận? – DSoa
@ DSoa có thể bạn đã đúng. Cảm ơn vì đã sửa tôi. Kỹ năng Angular của tôi có một chút gỉ .. tôi sử dụng Elm bây giờ .. tôi đã cập nhật câu trả lời .. :) – AIon
'if (condition) {return true; } else {return false; } '? :) Bạn không có nghĩa là 'return (condition);'? –